home *** CD-ROM | disk | FTP | other *** search
/ io Programmo 60 / IOPROG_60.ISO / soft / c++ / gsl-1.1.1-setup.exe / {app} / src / cblas / test_trsm.c < prev    next >
Encoding:
C/C++ Source or Header  |  2002-04-18  |  127.9 KB  |  3,948 lines

  1. #include <gsl/gsl_test.h>
  2. #include <gsl/gsl_ieee_utils.h>
  3. #include <gsl/gsl_math.h>
  4. #include <gsl/gsl_cblas.h>
  5.  
  6. #include "tests.h"
  7.  
  8. void
  9. test_trsm (void) {
  10. const double flteps = 1e-4, dbleps = 1e-6;
  11.   {
  12.    int order = 101;
  13.    int side = 141;
  14.    int uplo = 121;
  15.    int trans = 111;
  16.    int diag = 131;
  17.    int M = 2;
  18.    int N = 3;
  19.    float alpha = -0.3f;
  20.    float A[] = { 0.773f, 0.069f, 0.45f, 0.189f };
  21.    int lda = 2;
  22.    float B[] = { -0.037f, 0.788f, 0.015f, 0.028f, -0.804f, -0.357f };
  23.    int ldb = 3;
  24.    float B_expected[] = { 0.0183269f, -0.419738f, -0.0564036f, -0.0444444f, 1.27619f, 0.566667f };
  25.    cblas_strsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  26.    {
  27.      int i;
  28.      for (i = 0; i < 6; i++) {
  29.        gsl_test_rel(B[i], B_expected[i], flteps, "strsm(case 1830)");
  30.      }
  31.    };
  32.   };
  33.  
  34.  
  35.   {
  36.    int order = 101;
  37.    int side = 141;
  38.    int uplo = 121;
  39.    int trans = 111;
  40.    int diag = 132;
  41.    int M = 2;
  42.    int N = 3;
  43.    float alpha = -0.3f;
  44.    float A[] = { -0.13f, -0.832f, 0.426f, 0.195f };
  45.    int lda = 2;
  46.    float B[] = { 0.504f, 0.996f, 0.872f, -0.35f, 0.518f, -0.8f };
  47.    int ldb = 3;
  48.    float B_expected[] = { -0.06384f, -0.428093f, -0.06192f, 0.105f, -0.1554f, 0.24f };
  49.    cblas_strsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  50.    {
  51.      int i;
  52.      for (i = 0; i < 6; i++) {
  53.        gsl_test_rel(B[i], B_expected[i], flteps, "strsm(case 1831)");
  54.      }
  55.    };
  56.   };
  57.  
  58.  
  59.   {
  60.    int order = 101;
  61.    int side = 141;
  62.    int uplo = 122;
  63.    int trans = 111;
  64.    int diag = 131;
  65.    int M = 2;
  66.    int N = 3;
  67.    float alpha = -0.3f;
  68.    float A[] = { 0.755f, -0.053f, -0.132f, -0.515f };
  69.    int lda = 2;
  70.    float B[] = { -0.735f, 0.494f, 0.072f, -0.882f, -0.112f, 0.904f };
  71.    int ldb = 3;
  72.    float B_expected[] = { 0.292053f, -0.196291f, -0.0286093f, -0.588643f, -0.0149311f, 0.533935f };
  73.    cblas_strsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  74.    {
  75.      int i;
  76.      for (i = 0; i < 6; i++) {
  77.        gsl_test_rel(B[i], B_expected[i], flteps, "strsm(case 1832)");
  78.      }
  79.    };
  80.   };
  81.  
  82.  
  83.   {
  84.    int order = 101;
  85.    int side = 141;
  86.    int uplo = 122;
  87.    int trans = 111;
  88.    int diag = 132;
  89.    int M = 2;
  90.    int N = 3;
  91.    float alpha = -0.3f;
  92.    float A[] = { -0.88f, -0.555f, 0.642f, 0.751f };
  93.    int lda = 2;
  94.    float B[] = { -0.411f, 0.134f, 0.657f, 0.072f, -0.007f, -0.34f };
  95.    int ldb = 3;
  96.    float B_expected[] = { 0.1233f, -0.0402f, -0.1971f, -0.100759f, 0.0279084f, 0.228538f };
  97.    cblas_strsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  98.    {
  99.      int i;
  100.      for (i = 0; i < 6; i++) {
  101.        gsl_test_rel(B[i], B_expected[i], flteps, "strsm(case 1833)");
  102.      }
  103.    };
  104.   };
  105.  
  106.  
  107.   {
  108.    int order = 102;
  109.    int side = 141;
  110.    int uplo = 121;
  111.    int trans = 111;
  112.    int diag = 131;
  113.    int M = 2;
  114.    int N = 3;
  115.    float alpha = -0.3f;
  116.    float A[] = { -0.478f, 0.938f, -0.731f, 0.25f };
  117.    int lda = 2;
  118.    float B[] = { -0.859f, -0.409f, -0.154f, -0.54f, 0.146f, -0.106f };
  119.    int ldb = 2;
  120.    float B_expected[] = { -1.2897f, 0.4908f, -1.08763f, 0.648f, -0.102894f, 0.1272f };
  121.    cblas_strsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  122.    {
  123.      int i;
  124.      for (i = 0; i < 6; i++) {
  125.        gsl_test_rel(B[i], B_expected[i], flteps, "strsm(case 1834)");
  126.      }
  127.    };
  128.   };
  129.  
  130.  
  131.   {
  132.    int order = 102;
  133.    int side = 141;
  134.    int uplo = 121;
  135.    int trans = 111;
  136.    int diag = 132;
  137.    int M = 2;
  138.    int N = 3;
  139.    float alpha = -0.3f;
  140.    float A[] = { 0.953f, 0.249f, -0.451f, -0.781f };
  141.    int lda = 2;
  142.    float B[] = { -0.4f, -0.546f, 0.839f, 0.392f, -0.445f, -0.818f };
  143.    int ldb = 2;
  144.    float B_expected[] = { 0.193874f, 0.1638f, -0.304738f, -0.1176f, 0.244175f, 0.2454f };
  145.    cblas_strsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  146.    {
  147.      int i;
  148.      for (i = 0; i < 6; i++) {
  149.        gsl_test_rel(B[i], B_expected[i], flteps, "strsm(case 1835)");
  150.      }
  151.    };
  152.   };
  153.  
  154.  
  155.   {
  156.    int order = 102;
  157.    int side = 141;
  158.    int uplo = 122;
  159.    int trans = 111;
  160.    int diag = 131;
  161.    int M = 2;
  162.    int N = 3;
  163.    float alpha = -0.3f;
  164.    float A[] = { 0.831f, -0.997f, -0.366f, 0.307f };
  165.    int lda = 2;
  166.    float B[] = { 0.157f, -0.02f, 0.57f, 0.309f, -0.159f, 0.266f };
  167.    int ldb = 2;
  168.    float B_expected[] = { -0.0566787f, -0.164523f, -0.205776f, -0.970224f, 0.0574007f, -0.0735227f };
  169.    cblas_strsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  170.    {
  171.      int i;
  172.      for (i = 0; i < 6; i++) {
  173.        gsl_test_rel(B[i], B_expected[i], flteps, "strsm(case 1836)");
  174.      }
  175.    };
  176.   };
  177.  
  178.  
  179.   {
  180.    int order = 102;
  181.    int side = 141;
  182.    int uplo = 122;
  183.    int trans = 111;
  184.    int diag = 132;
  185.    int M = 2;
  186.    int N = 3;
  187.    float alpha = -0.3f;
  188.    float A[] = { -0.842f, 0.674f, 0.03f, 0.628f };
  189.    int lda = 2;
  190.    float B[] = { -0.426f, 0.806f, 0.299f, 0.626f, -0.471f, 0.208f };
  191.    int ldb = 2;
  192.    float B_expected[] = { 0.1278f, -0.327937f, -0.0897f, -0.127342f, 0.1413f, -0.157636f };
  193.    cblas_strsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  194.    {
  195.      int i;
  196.      for (i = 0; i < 6; i++) {
  197.        gsl_test_rel(B[i], B_expected[i], flteps, "strsm(case 1837)");
  198.      }
  199.    };
  200.   };
  201.  
  202.  
  203.   {
  204.    int order = 101;
  205.    int side = 142;
  206.    int uplo = 121;
  207.    int trans = 111;
  208.    int diag = 131;
  209.    int M = 2;
  210.    int N = 3;
  211.    float alpha = -0.3f;
  212.    float A[] = { -0.095f, 0.301f, 0.168f, 0.934f, 0.107f, 0.068f, 0.384f, -0.201f, 0.116f };
  213.    int lda = 3;
  214.    float B[] = { 0.534f, 0.773f, -0.304f, -0.402f, 0.642f, -0.102f };
  215.    int ldb = 3;
  216.    float B_expected[] = { 1.68632f, -6.91104f, 2.39525f, -1.26947f, 1.77114f, 1.06409f };
  217.    cblas_strsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  218.    {
  219.      int i;
  220.      for (i = 0; i < 6; i++) {
  221.        gsl_test_rel(B[i], B_expected[i], flteps, "strsm(case 1838)");
  222.      }
  223.    };
  224.   };
  225.  
  226.  
  227.   {
  228.    int order = 101;
  229.    int side = 142;
  230.    int uplo = 121;
  231.    int trans = 111;
  232.    int diag = 132;
  233.    int M = 2;
  234.    int N = 3;
  235.    float alpha = -0.3f;
  236.    float A[] = { -0.738f, -0.353f, -0.616f, 0.304f, 0.403f, 0.739f, 0.996f, 0.329f, 0.273f };
  237.    int lda = 3;
  238.    float B[] = { -0.436f, 0.074f, 0.273f, -0.609f, 0.858f, 0.993f };
  239.    int ldb = 3;
  240.    float B_expected[] = { 0.1308f, 0.0239724f, -0.0190428f, 0.1827f, -0.192907f, -0.0427986f };
  241.    cblas_strsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  242.    {
  243.      int i;
  244.      for (i = 0; i < 6; i++) {
  245.        gsl_test_rel(B[i], B_expected[i], flteps, "strsm(case 1839)");
  246.      }
  247.    };
  248.   };
  249.  
  250.  
  251.   {
  252.    int order = 101;
  253.    int side = 142;
  254.    int uplo = 122;
  255.    int trans = 111;
  256.    int diag = 131;
  257.    int M = 2;
  258.    int N = 3;
  259.    float alpha = -0.3f;
  260.    float A[] = { -0.956f, 0.878f, 0.156f, 0.217f, 0.082f, -0.869f, 0.595f, 0.845f, 0.064f };
  261.    int lda = 3;
  262.    float B[] = { -0.744f, 0.662f, -0.31f, 0.811f, 0.257f, 0.98f };
  263.    int ldb = 3;
  264.    float B_expected[] = { -3.27779f, -17.3962f, 1.45312f, 7.92713f, 46.3978f, -4.59375f };
  265.    cblas_strsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  266.    {
  267.      int i;
  268.      for (i = 0; i < 6; i++) {
  269.        gsl_test_rel(B[i], B_expected[i], flteps, "strsm(case 1840)");
  270.      }
  271.    };
  272.   };
  273.  
  274.  
  275.   {
  276.    int order = 101;
  277.    int side = 142;
  278.    int uplo = 122;
  279.    int trans = 111;
  280.    int diag = 132;
  281.    int M = 2;
  282.    int N = 3;
  283.    float alpha = -0.3f;
  284.    float A[] = { 0.313f, -0.316f, 0.836f, 0.359f, -0.415f, 0.154f, -0.948f, -0.596f, -0.799f };
  285.    int lda = 3;
  286.    float B[] = { 0.29f, -0.291f, 0.652f, 0.614f, 0.922f, -0.063f };
  287.    int ldb = 3;
  288.    float B_expected[] = { -0.261918f, -0.0292776f, -0.1956f, -0.0710273f, -0.265336f, 0.0189f };
  289.    cblas_strsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  290.    {
  291.      int i;
  292.      for (i = 0; i < 6; i++) {
  293.        gsl_test_rel(B[i], B_expected[i], flteps, "strsm(case 1841)");
  294.      }
  295.    };
  296.   };
  297.  
  298.  
  299.   {
  300.    int order = 102;
  301.    int side = 142;
  302.    int uplo = 121;
  303.    int trans = 111;
  304.    int diag = 131;
  305.    int M = 2;
  306.    int N = 3;
  307.    float alpha = -0.3f;
  308.    float A[] = { -0.634f, 0.561f, 0.883f, -0.136f, 0.203f, -0.531f, 0.733f, -0.332f, 0.705f };
  309.    int lda = 3;
  310.    float B[] = { 0.133f, -0.843f, -0.179f, 0.94f, -0.656f, 0.645f };
  311.    int ldb = 2;
  312.    float B_expected[] = { 0.0629338f, -0.398896f, 0.306695f, -1.6564f, 0.358145f, -0.639766f };
  313.    cblas_strsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  314.    {
  315.      int i;
  316.      for (i = 0; i < 6; i++) {
  317.        gsl_test_rel(B[i], B_expected[i], flteps, "strsm(case 1842)");
  318.      }
  319.    };
  320.   };
  321.  
  322.  
  323.   {
  324.    int order = 102;
  325.    int side = 142;
  326.    int uplo = 121;
  327.    int trans = 111;
  328.    int diag = 132;
  329.    int M = 2;
  330.    int N = 3;
  331.    float alpha = -0.3f;
  332.    float A[] = { 0.742f, -0.438f, 0.991f, 0.614f, 0.108f, -0.125f, 0.736f, -0.383f, 0.0f };
  333.    int lda = 3;
  334.    float B[] = { -0.792f, -0.033f, -0.723f, 0.885f, 0.336f, 0.584f };
  335.    int ldb = 2;
  336.    float B_expected[] = { 0.2376f, 0.0099f, 0.0710136f, -0.271579f, -0.248475f, -0.286501f };
  337.    cblas_strsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  338.    {
  339.      int i;
  340.      for (i = 0; i < 6; i++) {
  341.        gsl_test_rel(B[i], B_expected[i], flteps, "strsm(case 1843)");
  342.      }
  343.    };
  344.   };
  345.  
  346.  
  347.   {
  348.    int order = 102;
  349.    int side = 142;
  350.    int uplo = 122;
  351.    int trans = 111;
  352.    int diag = 131;
  353.    int M = 2;
  354.    int N = 3;
  355.    float alpha = -0.3f;
  356.    float A[] = { 0.761f, 0.466f, 0.907f, -0.85f, -0.342f, -0.058f, -0.379f, -0.416f, 0.599f };
  357.    int lda = 3;
  358.    float B[] = { -0.238f, 0.013f, 0.473f, -0.626f, 0.912f, -0.003f };
  359.    int ldb = 2;
  360.    float B_expected[] = { 0.336709f, 0.329497f, 0.492375f, -0.549378f, -0.456761f, 0.0015025f };
  361.    cblas_strsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  362.    {
  363.      int i;
  364.      for (i = 0; i < 6; i++) {
  365.        gsl_test_rel(B[i], B_expected[i], flteps, "strsm(case 1844)");
  366.      }
  367.    };
  368.   };
  369.  
  370.  
  371.   {
  372.    int order = 102;
  373.    int side = 142;
  374.    int uplo = 122;
  375.    int trans = 111;
  376.    int diag = 132;
  377.    int M = 2;
  378.    int N = 3;
  379.    float alpha = -0.3f;
  380.    float A[] = { 0.567f, -0.532f, -0.817f, 0.85f, -0.135f, 0.797f, 0.981f, -0.75f, 0.856f };
  381.    int lda = 3;
  382.    float B[] = { -0.705f, 0.326f, 0.184f, 0.079f, -0.173f, 0.125f };
  383.    int ldb = 2;
  384.    float B_expected[] = { 0.20253f, -0.125146f, -0.0965643f, 0.0061875f, 0.0519f, -0.0375f };
  385.    cblas_strsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  386.    {
  387.      int i;
  388.      for (i = 0; i < 6; i++) {
  389.        gsl_test_rel(B[i], B_expected[i], flteps, "strsm(case 1845)");
  390.      }
  391.    };
  392.   };
  393.  
  394.  
  395.   {
  396.    int order = 101;
  397.    int side = 141;
  398.    int uplo = 121;
  399.    int trans = 112;
  400.    int diag = 131;
  401.    int M = 2;
  402.    int N = 3;
  403.    float alpha = -0.3f;
  404.    float A[] = { -0.859f, 0.563f, -0.61f, 0.2f };
  405.    int lda = 2;
  406.    float B[] = { -0.241f, -0.357f, -0.683f, -0.718f, 0.69f, -0.486f };
  407.    int ldb = 3;
  408.    float B_expected[] = { -0.0841676f, -0.12468f, -0.238533f, 1.31393f, -0.684026f, 1.40047f };
  409.    cblas_strsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  410.    {
  411.      int i;
  412.      for (i = 0; i < 6; i++) {
  413.        gsl_test_rel(B[i], B_expected[i], flteps, "strsm(case 1846)");
  414.      }
  415.    };
  416.   };
  417.  
  418.  
  419.   {
  420.    int order = 101;
  421.    int side = 141;
  422.    int uplo = 121;
  423.    int trans = 112;
  424.    int diag = 132;
  425.    int M = 2;
  426.    int N = 3;
  427.    float alpha = -0.3f;
  428.    float A[] = { 0.157f, -0.741f, 0.844f, 0.206f };
  429.    int lda = 2;
  430.    float B[] = { 0.816f, -0.692f, 0.765f, -0.408f, 0.404f, 0.764f };
  431.    int ldb = 3;
  432.    float B_expected[] = { -0.2448f, 0.2076f, -0.2295f, -0.0589968f, 0.0326316f, -0.399259f };
  433.    cblas_strsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  434.    {
  435.      int i;
  436.      for (i = 0; i < 6; i++) {
  437.        gsl_test_rel(B[i], B_expected[i], flteps, "strsm(case 1847)");
  438.      }
  439.    };
  440.   };
  441.  
  442.  
  443.   {
  444.    int order = 101;
  445.    int side = 141;
  446.    int uplo = 122;
  447.    int trans = 112;
  448.    int diag = 131;
  449.    int M = 2;
  450.    int N = 3;
  451.    float alpha = -0.3f;
  452.    float A[] = { 0.187f, 0.354f, -0.931f, 0.18f };
  453.    int lda = 2;
  454.    float B[] = { -0.215f, -0.645f, 0.847f, 0.014f, 0.83f, 0.761f };
  455.    int ldb = 3;
  456.    float B_expected[] = { 0.228752f, -5.85232f, -7.67336f, -0.0233333f, -1.38333f, -1.26833f };
  457.    cblas_strsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  458.    {
  459.      int i;
  460.      for (i = 0; i < 6; i++) {
  461.        gsl_test_rel(B[i], B_expected[i], flteps, "strsm(case 1848)");
  462.      }
  463.    };
  464.   };
  465.  
  466.  
  467.   {
  468.    int order = 101;
  469.    int side = 141;
  470.    int uplo = 122;
  471.    int trans = 112;
  472.    int diag = 132;
  473.    int M = 2;
  474.    int N = 3;
  475.    float alpha = -0.3f;
  476.    float A[] = { -0.923f, 0.27f, -0.319f, -0.856f };
  477.    int lda = 2;
  478.    float B[] = { 0.391f, 0.01f, 0.429f, 0.685f, 0.332f, -0.643f };
  479.    int ldb = 3;
  480.    float B_expected[] = { -0.182855f, -0.0347724f, -0.0671649f, -0.2055f, -0.0996f, 0.1929f };
  481.    cblas_strsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  482.    {
  483.      int i;
  484.      for (i = 0; i < 6; i++) {
  485.        gsl_test_rel(B[i], B_expected[i], flteps, "strsm(case 1849)");
  486.      }
  487.    };
  488.   };
  489.  
  490.  
  491.   {
  492.    int order = 102;
  493.    int side = 141;
  494.    int uplo = 121;
  495.    int trans = 112;
  496.    int diag = 131;
  497.    int M = 2;
  498.    int N = 3;
  499.    float alpha = -0.3f;
  500.    float A[] = { 0.724f, 0.201f, 0.87f, -0.638f };
  501.    int lda = 2;
  502.    float B[] = { -0.533f, 0.183f, 0.569f, 0.85f, 0.642f, -0.051f };
  503.    int ldb = 2;
  504.    float B_expected[] = { 0.220856f, 0.387218f, -0.235773f, 0.0781772f, -0.266022f, -0.386739f };
  505.    cblas_strsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  506.    {
  507.      int i;
  508.      for (i = 0; i < 6; i++) {
  509.        gsl_test_rel(B[i], B_expected[i], flteps, "strsm(case 1850)");
  510.      }
  511.    };
  512.   };
  513.  
  514.  
  515.   {
  516.    int order = 102;
  517.    int side = 141;
  518.    int uplo = 121;
  519.    int trans = 112;
  520.    int diag = 132;
  521.    int M = 2;
  522.    int N = 3;
  523.    float alpha = -0.3f;
  524.    float A[] = { 0.291f, 0.244f, 0.931f, 0.857f };
  525.    int lda = 2;
  526.    float B[] = { 0.008f, -0.478f, -0.252f, -0.155f, 0.419f, -0.192f };
  527.    int ldb = 2;
  528.    float B_expected[] = { -0.0024f, 0.145634f, 0.0756f, -0.0238836f, -0.1257f, 0.174627f };
  529.    cblas_strsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  530.    {
  531.      int i;
  532.      for (i = 0; i < 6; i++) {
  533.        gsl_test_rel(B[i], B_expected[i], flteps, "strsm(case 1851)");
  534.      }
  535.    };
  536.   };
  537.  
  538.  
  539.   {
  540.    int order = 102;
  541.    int side = 141;
  542.    int uplo = 122;
  543.    int trans = 112;
  544.    int diag = 131;
  545.    int M = 2;
  546.    int N = 3;
  547.    float alpha = -0.3f;
  548.    float A[] = { -0.634f, -0.529f, -0.344f, 0.375f };
  549.    int lda = 2;
  550.    float B[] = { -0.295f, 0.551f, 0.832f, 0.744f, -0.326f, 0.111f };
  551.    int ldb = 2;
  552.    float B_expected[] = { 0.228207f, -0.4408f, 0.890317f, -0.5952f, -0.0801653f, -0.0888f };
  553.    cblas_strsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  554.    {
  555.      int i;
  556.      for (i = 0; i < 6; i++) {
  557.        gsl_test_rel(B[i], B_expected[i], flteps, "strsm(case 1852)");
  558.      }
  559.    };
  560.   };
  561.  
  562.  
  563.   {
  564.    int order = 102;
  565.    int side = 141;
  566.    int uplo = 122;
  567.    int trans = 112;
  568.    int diag = 132;
  569.    int M = 2;
  570.    int N = 3;
  571.    float alpha = -0.3f;
  572.    float A[] = { 0.641f, 0.989f, 0.998f, -0.005f };
  573.    int lda = 2;
  574.    float B[] = { -0.168f, 0.465f, 0.36f, 0.356f, -0.858f, 0.879f };
  575.    int ldb = 2;
  576.    float B_expected[] = { 0.188365f, -0.1395f, -0.0023748f, -0.1068f, 0.518199f, -0.2637f };
  577.    cblas_strsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  578.    {
  579.      int i;
  580.      for (i = 0; i < 6; i++) {
  581.        gsl_test_rel(B[i], B_expected[i], flteps, "strsm(case 1853)");
  582.      }
  583.    };
  584.   };
  585.  
  586.  
  587.   {
  588.    int order = 101;
  589.    int side = 142;
  590.    int uplo = 121;
  591.    int trans = 112;
  592.    int diag = 131;
  593.    int M = 2;
  594.    int N = 3;
  595.    float alpha = -0.3f;
  596.    float A[] = { -0.638f, 0.389f, 0.997f, 0.909f, -0.598f, -0.43f, -0.345f, -0.897f, 0.119f };
  597.    int lda = 3;
  598.    float B[] = { 0.64f, 0.779f, -0.129f, 0.016f, 0.599f, -0.668f };
  599.    int ldb = 3;
  600.    float B_expected[] = { 0.904844f, 0.156956f, 0.32521f, 2.08405f, -0.910426f, 1.68403f };
  601.    cblas_strsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  602.    {
  603.      int i;
  604.      for (i = 0; i < 6; i++) {
  605.        gsl_test_rel(B[i], B_expected[i], flteps, "strsm(case 1854)");
  606.      }
  607.    };
  608.   };
  609.  
  610.  
  611.   {
  612.    int order = 101;
  613.    int side = 142;
  614.    int uplo = 121;
  615.    int trans = 112;
  616.    int diag = 132;
  617.    int M = 2;
  618.    int N = 3;
  619.    float alpha = -0.3f;
  620.    float A[] = { 0.289f, 0.641f, -0.876f, -0.503f, -0.062f, -0.987f, 0.1f, -0.105f, 0.757f };
  621.    int lda = 3;
  622.    float B[] = { -0.285f, 0.285f, 0.219f, -0.986f, -0.0f, -0.605f };
  623.    int ldb = 3;
  624.    float B_expected[] = { 0.124319f, -0.150346f, -0.0657f, 0.339965f, 0.17914f, 0.1815f };
  625.    cblas_strsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  626.    {
  627.      int i;
  628.      for (i = 0; i < 6; i++) {
  629.        gsl_test_rel(B[i], B_expected[i], flteps, "strsm(case 1855)");
  630.      }
  631.    };
  632.   };
  633.  
  634.  
  635.   {
  636.    int order = 101;
  637.    int side = 142;
  638.    int uplo = 122;
  639.    int trans = 112;
  640.    int diag = 131;
  641.    int M = 2;
  642.    int N = 3;
  643.    float alpha = -0.3f;
  644.    float A[] = { 0.524f, 0.018f, 0.292f, -0.573f, 0.866f, 0.749f, 0.99f, 0.101f, 0.871f };
  645.    int lda = 3;
  646.    float B[] = { 0.522f, -0.269f, -0.142f, -0.266f, -0.505f, -0.55f };
  647.    int ldb = 3;
  648.    float B_expected[] = { -0.298855f, -0.104554f, 0.400719f, 0.15229f, 0.275707f, -0.0156298f };
  649.    cblas_strsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  650.    {
  651.      int i;
  652.      for (i = 0; i < 6; i++) {
  653.        gsl_test_rel(B[i], B_expected[i], flteps, "strsm(case 1856)");
  654.      }
  655.    };
  656.   };
  657.  
  658.  
  659.   {
  660.    int order = 101;
  661.    int side = 142;
  662.    int uplo = 122;
  663.    int trans = 112;
  664.    int diag = 132;
  665.    int M = 2;
  666.    int N = 3;
  667.    float alpha = -0.3f;
  668.    float A[] = { 0.283f, 0.62f, -0.387f, -0.739f, -0.599f, 0.114f, 0.552f, 0.083f, -0.976f };
  669.    int lda = 3;
  670.    float B[] = { 0.202f, 0.169f, 0.7f, 0.473f, 0.86f, -0.557f };
  671.    int ldb = 3;
  672.    float B_expected[] = { -0.0606f, -0.0954834f, -0.168624f, -0.1419f, -0.362864f, 0.275547f };
  673.    cblas_strsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  674.    {
  675.      int i;
  676.      for (i = 0; i < 6; i++) {
  677.        gsl_test_rel(B[i], B_expected[i], flteps, "strsm(case 1857)");
  678.      }
  679.    };
  680.   };
  681.  
  682.  
  683.   {
  684.    int order = 102;
  685.    int side = 142;
  686.    int uplo = 121;
  687.    int trans = 112;
  688.    int diag = 131;
  689.    int M = 2;
  690.    int N = 3;
  691.    float alpha = -0.3f;
  692.    float A[] = { -0.185f, 0.178f, -0.22f, -0.645f, -0.585f, -0.342f, -0.594f, -0.141f, 0.944f };
  693.    int lda = 3;
  694.    float B[] = { 0.22f, -0.895f, -0.301f, -0.683f, -0.009f, -0.451f };
  695.    int ldb = 2;
  696.    float B_expected[] = { 0.888147f, -0.569939f, -0.155048f, -0.384802f, 0.00286017f, 0.143326f };
  697.    cblas_strsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  698.    {
  699.      int i;
  700.      for (i = 0; i < 6; i++) {
  701.        gsl_test_rel(B[i], B_expected[i], flteps, "strsm(case 1858)");
  702.      }
  703.    };
  704.   };
  705.  
  706.  
  707.   {
  708.    int order = 102;
  709.    int side = 142;
  710.    int uplo = 121;
  711.    int trans = 112;
  712.    int diag = 132;
  713.    int M = 2;
  714.    int N = 3;
  715.    float alpha = -0.3f;
  716.    float A[] = { -0.145f, 0.746f, 0.541f, 0.584f, -0.394f, 0.371f, -0.172f, -0.601f, 0.542f };
  717.    int lda = 3;
  718.    float B[] = { 0.529f, 0.636f, 0.668f, 0.848f, -0.816f, -0.925f };
  719.    int ldb = 2;
  720.    float B_expected[] = { -0.0854817f, -0.0918985f, -0.0532752f, -0.0876225f, 0.2448f, 0.2775f };
  721.    cblas_strsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  722.    {
  723.      int i;
  724.      for (i = 0; i < 6; i++) {
  725.        gsl_test_rel(B[i], B_expected[i], flteps, "strsm(case 1859)");
  726.      }
  727.    };
  728.   };
  729.  
  730.  
  731.   {
  732.    int order = 102;
  733.    int side = 142;
  734.    int uplo = 122;
  735.    int trans = 112;
  736.    int diag = 131;
  737.    int M = 2;
  738.    int N = 3;
  739.    float alpha = -0.3f;
  740.    float A[] = { 0.416f, -0.526f, -0.486f, -0.716f, 0.361f, 0.365f, -0.492f, 0.544f, 0.721f };
  741.    int lda = 3;
  742.    float B[] = { 0.25f, 0.746f, 0.55f, 0.836f, -0.024f, 0.226f };
  743.    int ldb = 2;
  744.    float B_expected[] = { -0.180288f, -0.537981f, -0.719755f, -1.47861f, 0.25283f, 0.291864f };
  745.    cblas_strsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  746.    {
  747.      int i;
  748.      for (i = 0; i < 6; i++) {
  749.        gsl_test_rel(B[i], B_expected[i], flteps, "strsm(case 1860)");
  750.      }
  751.    };
  752.   };
  753.  
  754.  
  755.   {
  756.    int order = 102;
  757.    int side = 142;
  758.    int uplo = 122;
  759.    int trans = 112;
  760.    int diag = 132;
  761.    int M = 2;
  762.    int N = 3;
  763.    float alpha = -0.3f;
  764.    float A[] = { -0.735f, -0.606f, -0.124f, 0.641f, -0.074f, -0.053f, -0.734f, 0.907f, 0.558f };
  765.    int lda = 3;
  766.    float B[] = { 0.623f, 0.392f, -0.808f, -0.022f, -0.665f, -0.616f };
  767.    int ldb = 2;
  768.    float B_expected[] = { -0.1869f, -0.1176f, 0.129139f, -0.0646656f, 0.183169f, 0.16679f };
  769.    cblas_strsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  770.    {
  771.      int i;
  772.      for (i = 0; i < 6; i++) {
  773.        gsl_test_rel(B[i], B_expected[i], flteps, "strsm(case 1861)");
  774.      }
  775.    };
  776.   };
  777.  
  778.  
  779.   {
  780.    int order = 101;
  781.    int side = 141;
  782.    int uplo = 121;
  783.    int trans = 111;
  784.    int diag = 131;
  785.    int M = 2;
  786.    int N = 3;
  787.    double alpha = 0.1;
  788.    double A[] = { -0.584, -0.058, -0.964, -0.214 };
  789.    int lda = 2;
  790.    double B[] = { 0.073, -0.734, -0.058, -0.115, 0.513, 0.503 };
  791.    int ldb = 3;
  792.    double B_expected[] = { -0.0178370247087, 0.149492702599, 0.0332751888363, 0.053738317757, -0.239719626168, -0.235046728972 };
  793.    cblas_dtrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  794.    {
  795.      int i;
  796.      for (i = 0; i < 6; i++) {
  797.        gsl_test_rel(B[i], B_expected[i], dbleps, "dtrsm(case 1862)");
  798.      }
  799.    };
  800.   };
  801.  
  802.  
  803.   {
  804.    int order = 101;
  805.    int side = 141;
  806.    int uplo = 121;
  807.    int trans = 111;
  808.    int diag = 132;
  809.    int M = 2;
  810.    int N = 3;
  811.    double alpha = 0.1;
  812.    double A[] = { 0.251, -0.8, 0.365, 0.809 };
  813.    int lda = 2;
  814.    double B[] = { -0.632, -0.611, 0.9, 0.063, -0.652, -0.841 };
  815.    int ldb = 3;
  816.    double B_expected[] = { -0.05816, -0.11326, 0.02272, 0.0063, -0.0652, -0.0841 };
  817.    cblas_dtrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  818.    {
  819.      int i;
  820.      for (i = 0; i < 6; i++) {
  821.        gsl_test_rel(B[i], B_expected[i], dbleps, "dtrsm(case 1863)");
  822.      }
  823.    };
  824.   };
  825.  
  826.  
  827.   {
  828.    int order = 101;
  829.    int side = 141;
  830.    int uplo = 122;
  831.    int trans = 111;
  832.    int diag = 131;
  833.    int M = 2;
  834.    int N = 3;
  835.    double alpha = 0.1;
  836.    double A[] = { -0.833, 0.934, -0.608, 0.49 };
  837.    int lda = 2;
  838.    double B[] = { 0.336, -0.541, -0.729, -0.382, 0.741, 0.546 };
  839.    int ldb = 3;
  840.    double B_expected[] = { -0.0403361344538, 0.0649459783914, 0.0875150060024, -0.128008917853, 0.231810520126, 0.220018619693 };
  841.    cblas_dtrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  842.    {
  843.      int i;
  844.      for (i = 0; i < 6; i++) {
  845.        gsl_test_rel(B[i], B_expected[i], dbleps, "dtrsm(case 1864)");
  846.      }
  847.    };
  848.   };
  849.  
  850.  
  851.   {
  852.    int order = 101;
  853.    int side = 141;
  854.    int uplo = 122;
  855.    int trans = 111;
  856.    int diag = 132;
  857.    int M = 2;
  858.    int N = 3;
  859.    double alpha = 0.1;
  860.    double A[] = { 0.824, 0.907, 0.632, -0.348 };
  861.    int lda = 2;
  862.    double B[] = { 0.351, -0.301, 0.602, 0.873, 0.031, -0.2 };
  863.    int ldb = 3;
  864.    double B_expected[] = { 0.0351, -0.0301, 0.0602, 0.0651168, 0.0221232, -0.0580464 };
  865.    cblas_dtrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  866.    {
  867.      int i;
  868.      for (i = 0; i < 6; i++) {
  869.        gsl_test_rel(B[i], B_expected[i], dbleps, "dtrsm(case 1865)");
  870.      }
  871.    };
  872.   };
  873.  
  874.  
  875.   {
  876.    int order = 102;
  877.    int side = 141;
  878.    int uplo = 121;
  879.    int trans = 111;
  880.    int diag = 131;
  881.    int M = 2;
  882.    int N = 3;
  883.    double alpha = 0.1;
  884.    double A[] = { 0.427, 0.193, -0.959, -0.679 };
  885.    int lda = 2;
  886.    double B[] = { -0.646, 0.741, -0.339, 0.049, 0.734, -0.182 };
  887.    int ldb = 2;
  888.    double B_expected[] = { -0.3963857167, -0.10913107511, -0.0955986383061, -0.00721649484536, 0.232096380888, 0.0268041237113 };
  889.    cblas_dtrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  890.    {
  891.      int i;
  892.      for (i = 0; i < 6; i++) {
  893.        gsl_test_rel(B[i], B_expected[i], dbleps, "dtrsm(case 1866)");
  894.      }
  895.    };
  896.   };
  897.  
  898.  
  899.   {
  900.    int order = 102;
  901.    int side = 141;
  902.    int uplo = 121;
  903.    int trans = 111;
  904.    int diag = 132;
  905.    int M = 2;
  906.    int N = 3;
  907.    double alpha = 0.1;
  908.    double A[] = { 0.282, 0.766, -0.422, -0.518 };
  909.    int lda = 2;
  910.    double B[] = { 0.269, 0.211, -0.911, -0.685, -0.777, -0.919 };
  911.    int ldb = 2;
  912.    double B_expected[] = { 0.0358042, 0.0211, -0.120007, -0.0685, -0.1164818, -0.0919 };
  913.    cblas_dtrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  914.    {
  915.      int i;
  916.      for (i = 0; i < 6; i++) {
  917.        gsl_test_rel(B[i], B_expected[i], dbleps, "dtrsm(case 1867)");
  918.      }
  919.    };
  920.   };
  921.  
  922.  
  923.   {
  924.    int order = 102;
  925.    int side = 141;
  926.    int uplo = 122;
  927.    int trans = 111;
  928.    int diag = 131;
  929.    int M = 2;
  930.    int N = 3;
  931.    double alpha = 0.1;
  932.    double A[] = { -0.877, -0.818, 0.191, 0.468 };
  933.    int lda = 2;
  934.    double B[] = { 0.517, 0.669, 0.337, -0.579, 0.885, -0.677 };
  935.    int ldb = 2;
  936.    double B_expected[] = { -0.0589509692132, 0.039910485435, -0.0384264538198, -0.190882135095, -0.100912200684, -0.321038846495 };
  937.    cblas_dtrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  938.    {
  939.      int i;
  940.      for (i = 0; i < 6; i++) {
  941.        gsl_test_rel(B[i], B_expected[i], dbleps, "dtrsm(case 1868)");
  942.      }
  943.    };
  944.   };
  945.  
  946.  
  947.   {
  948.    int order = 102;
  949.    int side = 141;
  950.    int uplo = 122;
  951.    int trans = 111;
  952.    int diag = 132;
  953.    int M = 2;
  954.    int N = 3;
  955.    double alpha = 0.1;
  956.    double A[] = { 0.469, 0.115, 0.284, 0.139 };
  957.    int lda = 2;
  958.    double B[] = { 0.889, -0.002, -0.686, -0.256, 0.028, 0.371 };
  959.    int ldb = 2;
  960.    double B_expected[] = { 0.0889, -0.0104235, -0.0686, -0.017711, 0.0028, 0.036778 };
  961.    cblas_dtrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  962.    {
  963.      int i;
  964.      for (i = 0; i < 6; i++) {
  965.        gsl_test_rel(B[i], B_expected[i], dbleps, "dtrsm(case 1869)");
  966.      }
  967.    };
  968.   };
  969.  
  970.  
  971.   {
  972.    int order = 101;
  973.    int side = 142;
  974.    int uplo = 121;
  975.    int trans = 111;
  976.    int diag = 131;
  977.    int M = 2;
  978.    int N = 3;
  979.    double alpha = 0.1;
  980.    double A[] = { -0.218, -0.819, -0.523, 0.042, 0.545, -0.292, 0.283, 0.224, 0.247 };
  981.    int lda = 3;
  982.    double B[] = { 0.677, 0.153, -0.272, -0.226, 0.987, -0.216 };
  983.    int ldb = 3;
  984.    double B_expected[] = { -0.310550458716, -0.438607019611, -1.28619894589, 0.103669724771, 0.336890834105, 0.530329512606 };
  985.    cblas_dtrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  986.    {
  987.      int i;
  988.      for (i = 0; i < 6; i++) {
  989.        gsl_test_rel(B[i], B_expected[i], dbleps, "dtrsm(case 1870)");
  990.      }
  991.    };
  992.   };
  993.  
  994.  
  995.   {
  996.    int order = 101;
  997.    int side = 142;
  998.    int uplo = 121;
  999.    int trans = 111;
  1000.    int diag = 132;
  1001.    int M = 2;
  1002.    int N = 3;
  1003.    double alpha = 0.1;
  1004.    double A[] = { 0.241, 0.561, 0.164, 0.486, 0.891, -0.508, -0.596, -0.074, 0.576 };
  1005.    int lda = 3;
  1006.    double B[] = { -0.325, 0.382, 0.368, 0.761, -0.349, 0.324 };
  1007.    int ldb = 3;
  1008.    double B_expected[] = { -0.0325, 0.0564325, 0.07079771, 0.0761, -0.0775921, -0.0194971868 };
  1009.    cblas_dtrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  1010.    {
  1011.      int i;
  1012.      for (i = 0; i < 6; i++) {
  1013.        gsl_test_rel(B[i], B_expected[i], dbleps, "dtrsm(case 1871)");
  1014.      }
  1015.    };
  1016.   };
  1017.  
  1018.  
  1019.   {
  1020.    int order = 101;
  1021.    int side = 142;
  1022.    int uplo = 122;
  1023.    int trans = 111;
  1024.    int diag = 131;
  1025.    int M = 2;
  1026.    int N = 3;
  1027.    double alpha = 0.1;
  1028.    double A[] = { 0.76, 0.58, -0.203, 0.053, 0.792, 0.355, -0.685, 0.449, -0.367 };
  1029.    int lda = 3;
  1030.    double B[] = { 0.861, -0.44, 0.842, -0.019, -0.382, -0.579 };
  1031.    int ldb = 3;
  1032.    double B_expected[] = { -0.0986936127734, 0.0745114634079, -0.229427792916, 0.149297547123, -0.137672708006, 0.157765667575 };
  1033.    cblas_dtrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  1034.    {
  1035.      int i;
  1036.      for (i = 0; i < 6; i++) {
  1037.        gsl_test_rel(B[i], B_expected[i], dbleps, "dtrsm(case 1872)");
  1038.      }
  1039.    };
  1040.   };
  1041.  
  1042.  
  1043.   {
  1044.    int order = 101;
  1045.    int side = 142;
  1046.    int uplo = 122;
  1047.    int trans = 111;
  1048.    int diag = 132;
  1049.    int M = 2;
  1050.    int N = 3;
  1051.    double alpha = 0.1;
  1052.    double A[] = { 0.802, 0.298, 0.159, 0.333, 0.515, 0.715, -0.32, -0.217, 0.301 };
  1053.    int lda = 3;
  1054.    double B[] = { -0.268, 0.1, -0.631, 0.472, 0.796, 0.278 };
  1055.    int ldb = 3;
  1056.    double B_expected[] = { -0.0457623309, -0.0036927, -0.0631, 0.0275803442, 0.0856326, 0.0278 };
  1057.    cblas_dtrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  1058.    {
  1059.      int i;
  1060.      for (i = 0; i < 6; i++) {
  1061.        gsl_test_rel(B[i], B_expected[i], dbleps, "dtrsm(case 1873)");
  1062.      }
  1063.    };
  1064.   };
  1065.  
  1066.  
  1067.   {
  1068.    int order = 102;
  1069.    int side = 142;
  1070.    int uplo = 121;
  1071.    int trans = 111;
  1072.    int diag = 131;
  1073.    int M = 2;
  1074.    int N = 3;
  1075.    double alpha = 0.1;
  1076.    double A[] = { -0.028, 0.186, -0.435, -0.747, 0.212, 0.257, 0.804, -0.595, 0.64 };
  1077.    int lda = 3;
  1078.    double B[] = { 0.729, -0.847, -0.577, 0.056, -0.493, 0.619 };
  1079.    int ldb = 2;
  1080.    double B_expected[] = { -2.60357142857, 3.025, -9.44607479784, 10.685259434, -5.58819230648, 6.23051463001 };
  1081.    cblas_dtrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  1082.    {
  1083.      int i;
  1084.      for (i = 0; i < 6; i++) {
  1085.        gsl_test_rel(B[i], B_expected[i], dbleps, "dtrsm(case 1874)");
  1086.      }
  1087.    };
  1088.   };
  1089.  
  1090.  
  1091.   {
  1092.    int order = 102;
  1093.    int side = 142;
  1094.    int uplo = 121;
  1095.    int trans = 111;
  1096.    int diag = 132;
  1097.    int M = 2;
  1098.    int N = 3;
  1099.    double alpha = 0.1;
  1100.    double A[] = { -0.74, -0.091, 0.484, 0.769, 0.91, 0.817, -0.26, 0.579, 0.393 };
  1101.    int lda = 3;
  1102.    double B[] = { 0.109, 0.969, -0.668, 0.544, 0.753, 0.796 };
  1103.    int ldb = 2;
  1104.    double B_expected[] = { 0.0109, 0.0969, -0.0751821, -0.0201161, 0.1216644359, 0.1164412219 };
  1105.    cblas_dtrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  1106.    {
  1107.      int i;
  1108.      for (i = 0; i < 6; i++) {
  1109.        gsl_test_rel(B[i], B_expected[i], dbleps, "dtrsm(case 1875)");
  1110.      }
  1111.    };
  1112.   };
  1113.  
  1114.  
  1115.   {
  1116.    int order = 102;
  1117.    int side = 142;
  1118.    int uplo = 122;
  1119.    int trans = 111;
  1120.    int diag = 131;
  1121.    int M = 2;
  1122.    int N = 3;
  1123.    double alpha = 0.1;
  1124.    double A[] = { 0.123, -0.328, -0.482, 0.083, -0.125, -0.712, -0.757, -0.009, 0.237 };
  1125.    int lda = 3;
  1126.    double B[] = { -0.18, 0.358, 0.839, -0.725, 0.73, -0.095 };
  1127.    int ldb = 2;
  1128.    double B_expected[] = { -5.40775366883, 2.28950005146, -2.42566413502, 0.808320675105, 0.308016877637, -0.0400843881857 };
  1129.    cblas_dtrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  1130.    {
  1131.      int i;
  1132.      for (i = 0; i < 6; i++) {
  1133.        gsl_test_rel(B[i], B_expected[i], dbleps, "dtrsm(case 1876)");
  1134.      }
  1135.    };
  1136.   };
  1137.  
  1138.  
  1139.   {
  1140.    int order = 102;
  1141.    int side = 142;
  1142.    int uplo = 122;
  1143.    int trans = 111;
  1144.    int diag = 132;
  1145.    int M = 2;
  1146.    int N = 3;
  1147.    double alpha = 0.1;
  1148.    double A[] = { 0.255, -0.069, -0.137, -0.45, -0.24, 0.221, -0.509, -0.484, -0.131 };
  1149.    int lda = 3;
  1150.    double B[] = { -0.563, 0.993, 0.508, 0.771, 0.745, 0.233 };
  1151.    int ldb = 2;
  1152.    double B_expected[] = { -0.0437243505, 0.1074566983, 0.0343355, 0.0719507, 0.0745, 0.0233 };
  1153.    cblas_dtrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  1154.    {
  1155.      int i;
  1156.      for (i = 0; i < 6; i++) {
  1157.        gsl_test_rel(B[i], B_expected[i], dbleps, "dtrsm(case 1877)");
  1158.      }
  1159.    };
  1160.   };
  1161.  
  1162.  
  1163.   {
  1164.    int order = 101;
  1165.    int side = 141;
  1166.    int uplo = 121;
  1167.    int trans = 112;
  1168.    int diag = 131;
  1169.    int M = 2;
  1170.    int N = 3;
  1171.    double alpha = -1;
  1172.    double A[] = { -0.772, 0.079, -0.227, 0.998 };
  1173.    int lda = 2;
  1174.    double B[] = { -0.095, 0.012, -0.988, -0.722, 0.738, 0.05 };
  1175.    int ldb = 3;
  1176.    double B_expected[] = { -0.123056994819, 0.0155440414508, -1.27979274611, 0.733187878347, -0.740709398071, 0.051206039021 };
  1177.    cblas_dtrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  1178.    {
  1179.      int i;
  1180.      for (i = 0; i < 6; i++) {
  1181.        gsl_test_rel(B[i], B_expected[i], dbleps, "dtrsm(case 1878)");
  1182.      }
  1183.    };
  1184.   };
  1185.  
  1186.  
  1187.   {
  1188.    int order = 101;
  1189.    int side = 141;
  1190.    int uplo = 121;
  1191.    int trans = 112;
  1192.    int diag = 132;
  1193.    int M = 2;
  1194.    int N = 3;
  1195.    double alpha = -1;
  1196.    double A[] = { -0.045, 0.059, -0.61, -0.328 };
  1197.    int lda = 2;
  1198.    double B[] = { 0.302, -0.099, 0.521, 0.487, -0.961, 0.903 };
  1199.    int ldb = 3;
  1200.    double B_expected[] = { -0.302, 0.099, -0.521, -0.469182, 0.955159, -0.872261 };
  1201.    cblas_dtrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  1202.    {
  1203.      int i;
  1204.      for (i = 0; i < 6; i++) {
  1205.        gsl_test_rel(B[i], B_expected[i], dbleps, "dtrsm(case 1879)");
  1206.      }
  1207.    };
  1208.   };
  1209.  
  1210.  
  1211.   {
  1212.    int order = 101;
  1213.    int side = 141;
  1214.    int uplo = 122;
  1215.    int trans = 112;
  1216.    int diag = 131;
  1217.    int M = 2;
  1218.    int N = 3;
  1219.    double alpha = -1;
  1220.    double A[] = { -0.319, 0.642, 0.511, 0.762 };
  1221.    int lda = 2;
  1222.    double B[] = { 0.883, 0.987, 0.436, -0.783, 0.175, -0.973 };
  1223.    int ldb = 3;
  1224.    double B_expected[] = { 4.41405227952, 2.72615785879, 3.41221747752, 1.02755905512, -0.229658792651, 1.27690288714 };
  1225.    cblas_dtrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  1226.    {
  1227.      int i;
  1228.      for (i = 0; i < 6; i++) {
  1229.        gsl_test_rel(B[i], B_expected[i], dbleps, "dtrsm(case 1880)");
  1230.      }
  1231.    };
  1232.   };
  1233.  
  1234.  
  1235.   {
  1236.    int order = 101;
  1237.    int side = 141;
  1238.    int uplo = 122;
  1239.    int trans = 112;
  1240.    int diag = 132;
  1241.    int M = 2;
  1242.    int N = 3;
  1243.    double alpha = -1;
  1244.    double A[] = { 0.676, 0.038, 0.543, 0.296 };
  1245.    int lda = 2;
  1246.    double B[] = { 0.804, -0.28, -0.318, 0.382, -0.165, -0.007 };
  1247.    int ldb = 3;
  1248.    double B_expected[] = { -0.596574, 0.190405, 0.314199, -0.382, 0.165, 0.007 };
  1249.    cblas_dtrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  1250.    {
  1251.      int i;
  1252.      for (i = 0; i < 6; i++) {
  1253.        gsl_test_rel(B[i], B_expected[i], dbleps, "dtrsm(case 1881)");
  1254.      }
  1255.    };
  1256.   };
  1257.  
  1258.  
  1259.   {
  1260.    int order = 102;
  1261.    int side = 141;
  1262.    int uplo = 121;
  1263.    int trans = 112;
  1264.    int diag = 131;
  1265.    int M = 2;
  1266.    int N = 3;
  1267.    double alpha = -1;
  1268.    double A[] = { -0.722, -0.355, -0.14, -0.146 };
  1269.    int lda = 2;
  1270.    double B[] = { -0.44, 0.751, -0.995, 0.625, 0.16, -0.127 };
  1271.    int ldb = 2;
  1272.    double B_expected[] = { -0.609418282548, 5.72820931203, -1.37811634349, 5.60230334307, 0.221606648199, -1.08236253937 };
  1273.    cblas_dtrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  1274.    {
  1275.      int i;
  1276.      for (i = 0; i < 6; i++) {
  1277.        gsl_test_rel(B[i], B_expected[i], dbleps, "dtrsm(case 1882)");
  1278.      }
  1279.    };
  1280.   };
  1281.  
  1282.  
  1283.   {
  1284.    int order = 102;
  1285.    int side = 141;
  1286.    int uplo = 121;
  1287.    int trans = 112;
  1288.    int diag = 132;
  1289.    int M = 2;
  1290.    int N = 3;
  1291.    double alpha = -1;
  1292.    double A[] = { 0.817, -0.619, 0.548, 0.064 };
  1293.    int lda = 2;
  1294.    double B[] = { -0.756, -0.169, 0.429, -0.789, 0.79, 0.479 };
  1295.    int ldb = 2;
  1296.    double B_expected[] = { 0.756, -0.245288, -0.429, 1.024092, -0.79, -0.04608 };
  1297.    cblas_dtrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  1298.    {
  1299.      int i;
  1300.      for (i = 0; i < 6; i++) {
  1301.        gsl_test_rel(B[i], B_expected[i], dbleps, "dtrsm(case 1883)");
  1302.      }
  1303.    };
  1304.   };
  1305.  
  1306.  
  1307.   {
  1308.    int order = 102;
  1309.    int side = 141;
  1310.    int uplo = 122;
  1311.    int trans = 112;
  1312.    int diag = 131;
  1313.    int M = 2;
  1314.    int N = 3;
  1315.    double alpha = -1;
  1316.    double A[] = { 0.496, -0.734, -0.679, -0.697 };
  1317.    int lda = 2;
  1318.    double B[] = { -0.483, -0.508, -0.819, 0.237, 0.852, -0.512 };
  1319.    int ldb = 2;
  1320.    double B_expected[] = { -0.104772180312, -0.728837876614, 2.1543973018, 0.340028694405, -2.80479705651, -0.734576757532 };
  1321.    cblas_dtrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  1322.    {
  1323.      int i;
  1324.      for (i = 0; i < 6; i++) {
  1325.        gsl_test_rel(B[i], B_expected[i], dbleps, "dtrsm(case 1884)");
  1326.      }
  1327.    };
  1328.   };
  1329.  
  1330.  
  1331.   {
  1332.    int order = 102;
  1333.    int side = 141;
  1334.    int uplo = 122;
  1335.    int trans = 112;
  1336.    int diag = 132;
  1337.    int M = 2;
  1338.    int N = 3;
  1339.    double alpha = -1;
  1340.    double A[] = { 0.049, 0.079, -0.8, -0.762 };
  1341.    int lda = 2;
  1342.    double B[] = { 0.426, 0.094, 0.794, -0.098, 0.442, -0.991 };
  1343.    int ldb = 2;
  1344.    double B_expected[] = { -0.418574, -0.094, -0.801742, 0.098, -0.520289, 0.991 };
  1345.    cblas_dtrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  1346.    {
  1347.      int i;
  1348.      for (i = 0; i < 6; i++) {
  1349.        gsl_test_rel(B[i], B_expected[i], dbleps, "dtrsm(case 1885)");
  1350.      }
  1351.    };
  1352.   };
  1353.  
  1354.  
  1355.   {
  1356.    int order = 101;
  1357.    int side = 142;
  1358.    int uplo = 121;
  1359.    int trans = 112;
  1360.    int diag = 131;
  1361.    int M = 2;
  1362.    int N = 3;
  1363.    double alpha = -1;
  1364.    double A[] = { -0.974, 0.848, -0.765, 0.528, -0.693, 0.252, -0.135, -0.507, 0.954 };
  1365.    int lda = 3;
  1366.    double B[] = { 0.395, 0.791, -0.787, 0.636, 0.271, -0.905 };
  1367.    int ldb = 3;
  1368.    double B_expected[] = { 1.01254427581, 1.4413950829, 0.824947589099, 0.548697105717, 0.736012415258, 0.948637316562 };
  1369.    cblas_dtrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  1370.    {
  1371.      int i;
  1372.      for (i = 0; i < 6; i++) {
  1373.        gsl_test_rel(B[i], B_expected[i], dbleps, "dtrsm(case 1886)");
  1374.      }
  1375.    };
  1376.   };
  1377.  
  1378.  
  1379.   {
  1380.    int order = 101;
  1381.    int side = 142;
  1382.    int uplo = 121;
  1383.    int trans = 112;
  1384.    int diag = 132;
  1385.    int M = 2;
  1386.    int N = 3;
  1387.    double alpha = -1;
  1388.    double A[] = { 0.919, -0.513, -0.38, 0.587, -0.862, 0.598, 0.714, 0.726, 0.491 };
  1389.    int lda = 3;
  1390.    double B[] = { -0.056, -0.802, -0.962, 0.656, -0.195, -0.679 };
  1391.    int ldb = 3;
  1392.    double B_expected[] = { 0.537869412, 0.226724, 0.962, -0.506244546, -0.211042, 0.679 };
  1393.    cblas_dtrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  1394.    {
  1395.      int i;
  1396.      for (i = 0; i < 6; i++) {
  1397.        gsl_test_rel(B[i], B_expected[i], dbleps, "dtrsm(case 1887)");
  1398.      }
  1399.    };
  1400.   };
  1401.  
  1402.  
  1403.   {
  1404.    int order = 101;
  1405.    int side = 142;
  1406.    int uplo = 122;
  1407.    int trans = 112;
  1408.    int diag = 131;
  1409.    int M = 2;
  1410.    int N = 3;
  1411.    double alpha = -1;
  1412.    double A[] = { -0.287, -0.009, -0.989, -0.062, 0.714, -0.293, -0.875, 0.371, 0.728 };
  1413.    int lda = 3;
  1414.    double B[] = { -0.14, -0.969, 0.702, -0.317, -0.739, -0.518 };
  1415.    int ldb = 3;
  1416.    double B_expected[] = { -0.487804878049, 1.31478445037, -2.22062403761, -1.10452961672, 0.939102470256, -1.09460224052 };
  1417.    cblas_dtrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  1418.    {
  1419.      int i;
  1420.      for (i = 0; i < 6; i++) {
  1421.        gsl_test_rel(B[i], B_expected[i], dbleps, "dtrsm(case 1888)");
  1422.      }
  1423.    };
  1424.   };
  1425.  
  1426.  
  1427.   {
  1428.    int order = 101;
  1429.    int side = 142;
  1430.    int uplo = 122;
  1431.    int trans = 112;
  1432.    int diag = 132;
  1433.    int M = 2;
  1434.    int N = 3;
  1435.    double alpha = -1;
  1436.    double A[] = { 0.236, 0.605, 0.338, -0.926, 0.362, 0.562, -0.554, 0.076, 0.85 };
  1437.    int lda = 3;
  1438.    double B[] = { 0.113, 0.604, 0.859, 0.216, -0.6, -0.048 };
  1439.    int ldb = 3;
  1440.    double B_expected[] = { -0.113, -0.708638, -0.867745512, -0.216, 0.399984, -0.102062784 };
  1441.    cblas_dtrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  1442.    {
  1443.      int i;
  1444.      for (i = 0; i < 6; i++) {
  1445.        gsl_test_rel(B[i], B_expected[i], dbleps, "dtrsm(case 1889)");
  1446.      }
  1447.    };
  1448.   };
  1449.  
  1450.  
  1451.   {
  1452.    int order = 102;
  1453.    int side = 142;
  1454.    int uplo = 121;
  1455.    int trans = 112;
  1456.    int diag = 131;
  1457.    int M = 2;
  1458.    int N = 3;
  1459.    double alpha = -1;
  1460.    double A[] = { -0.476, 0.428, -0.214, -0.889, -0.526, -0.704, 0.458, -0.479, 0.077 };
  1461.    int lda = 3;
  1462.    double B[] = { 0.124, -0.007, 0.452, 0.966, 0.42, 0.369 };
  1463.    int ldb = 2;
  1464.    double B_expected[] = { -15.8695808776, -16.2060574143, 5.8264777048, 6.20050861686, -5.45454545455, -4.79220779221 };
  1465.    cblas_dtrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  1466.    {
  1467.      int i;
  1468.      for (i = 0; i < 6; i++) {
  1469.        gsl_test_rel(B[i], B_expected[i], dbleps, "dtrsm(case 1890)");
  1470.      }
  1471.    };
  1472.   };
  1473.  
  1474.  
  1475.   {
  1476.    int order = 102;
  1477.    int side = 142;
  1478.    int uplo = 121;
  1479.    int trans = 112;
  1480.    int diag = 132;
  1481.    int M = 2;
  1482.    int N = 3;
  1483.    double alpha = -1;
  1484.    double A[] = { 0.748, 0.242, -0.964, 0.422, -0.78, -0.595, -0.926, -0.474, 0.947 };
  1485.    int lda = 3;
  1486.    double B[] = { 0.242, -0.553, -0.899, -0.714, -0.084, -0.609 };
  1487.    int ldb = 2;
  1488.    double B_expected[] = { -0.560396352, 0.693808948, 0.938816, 1.002666, 0.084, 0.609 };
  1489.    cblas_dtrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  1490.    {
  1491.      int i;
  1492.      for (i = 0; i < 6; i++) {
  1493.        gsl_test_rel(B[i], B_expected[i], dbleps, "dtrsm(case 1891)");
  1494.      }
  1495.    };
  1496.   };
  1497.  
  1498.  
  1499.   {
  1500.    int order = 102;
  1501.    int side = 142;
  1502.    int uplo = 122;
  1503.    int trans = 112;
  1504.    int diag = 131;
  1505.    int M = 2;
  1506.    int N = 3;
  1507.    double alpha = -1;
  1508.    double A[] = { 0.808, -0.074, 0.359, -0.172, -0.934, -0.67, 0.92, -0.617, -0.383 };
  1509.    int lda = 3;
  1510.    double B[] = { 0.079, 0.978, 0.82, 0.444, -0.597, -0.64 };
  1511.    int ldb = 2;
  1512.    double B_expected[] = { -0.0977722772277, -1.2103960396, 0.885690737168, 0.571273347892, -3.19977295412, -3.80492250994 };
  1513.    cblas_dtrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  1514.    {
  1515.      int i;
  1516.      for (i = 0; i < 6; i++) {
  1517.        gsl_test_rel(B[i], B_expected[i], dbleps, "dtrsm(case 1892)");
  1518.      }
  1519.    };
  1520.   };
  1521.  
  1522.  
  1523.   {
  1524.    int order = 102;
  1525.    int side = 142;
  1526.    int uplo = 122;
  1527.    int trans = 112;
  1528.    int diag = 132;
  1529.    int M = 2;
  1530.    int N = 3;
  1531.    double alpha = -1;
  1532.    double A[] = { 0.786, 0.922, -0.763, 0.498, -0.082, 0.538, 0.742, -0.391, -0.255 };
  1533.    int lda = 3;
  1534.    double B[] = { 0.911, 0.066, 0.895, 0.255, -0.547, -0.805 };
  1535.    int ldb = 2;
  1536.    double B_expected[] = { -0.911, -0.066, -0.055058, -0.194148, -0.118471796, 0.859093624 };
  1537.    cblas_dtrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  1538.    {
  1539.      int i;
  1540.      for (i = 0; i < 6; i++) {
  1541.        gsl_test_rel(B[i], B_expected[i], dbleps, "dtrsm(case 1893)");
  1542.      }
  1543.    };
  1544.   };
  1545.  
  1546.  
  1547.   {
  1548.    int order = 101;
  1549.    int side = 141;
  1550.    int uplo = 121;
  1551.    int trans = 111;
  1552.    int diag = 131;
  1553.    int M = 2;
  1554.    int N = 3;
  1555.    float alpha[2] = {0.0f, 1.0f};
  1556.    float A[] = { -0.362f, -0.457f, -0.347f, -0.203f, -0.517f, 0.462f, 0.572f, 0.521f };
  1557.    int lda = 2;
  1558.    float B[] = { 0.118f, -0.593f, 0.773f, 0.053f, -0.419f, -0.096f, 0.846f, -0.311f, -0.364f, 0.161f, -0.496f, -0.393f };
  1559.    int ldb = 3;
  1560.    float B_expected[] = { -1.58885f, 0.58489f, -0.628497f, -0.878921f, 0.701485f, 1.08554f, 1.03347f, 0.537701f, -0.470639f, -0.207688f, -0.056162f, -0.815978f };
  1561.    cblas_ctrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  1562.    {
  1563.      int i;
  1564.      for (i = 0; i < 6; i++) {
  1565.        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrsm(case 1894) real");
  1566.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrsm(case 1894) imag");
  1567.      };
  1568.    };
  1569.   };
  1570.  
  1571.  
  1572.   {
  1573.    int order = 101;
  1574.    int side = 141;
  1575.    int uplo = 121;
  1576.    int trans = 111;
  1577.    int diag = 132;
  1578.    int M = 2;
  1579.    int N = 3;
  1580.    float alpha[2] = {0.0f, 1.0f};
  1581.    float A[] = { 0.845f, -0.654f, -0.43f, -0.834f, 0.206f, 0.414f, 0.761f, 0.961f };
  1582.    int lda = 2;
  1583.    float B[] = { 0.069f, 0.005f, -0.419f, 0.806f, 0.857f, 0.669f, 0.942f, 0.657f, 0.52f, 0.19f, -0.609f, -0.305f };
  1584.    int ldb = 3;
  1585.    float B_expected[] = { -1.07314f, -0.073878f, -1.32138f, -0.35386f, -0.029944f, 0.8495f, -0.657f, 0.942f, -0.19f, 0.52f, 0.305f, -0.609f };
  1586.    cblas_ctrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  1587.    {
  1588.      int i;
  1589.      for (i = 0; i < 6; i++) {
  1590.        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrsm(case 1895) real");
  1591.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrsm(case 1895) imag");
  1592.      };
  1593.    };
  1594.   };
  1595.  
  1596.  
  1597.   {
  1598.    int order = 101;
  1599.    int side = 141;
  1600.    int uplo = 122;
  1601.    int trans = 111;
  1602.    int diag = 131;
  1603.    int M = 2;
  1604.    int N = 3;
  1605.    float alpha[2] = {0.0f, 1.0f};
  1606.    float A[] = { -0.87f, 0.218f, 0.813f, 0.575f, -0.848f, 0.7f, -0.311f, 0.374f };
  1607.    int lda = 2;
  1608.    float B[] = { 0.117f, 0.758f, -0.189f, -0.768f, 0.857f, -0.269f, 0.796f, -0.592f, -0.499f, 0.977f, 0.643f, 0.282f };
  1609.    int ldb = 3;
  1610.    float B_expected[] = { 0.851499f, 0.0788813f, -0.881826f, -0.00372192f, -0.0586805f, -0.999761f, -1.37808f, -2.51525f, 2.45259f, 2.57925f, 1.0972f, 1.8459f };
  1611.    cblas_ctrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  1612.    {
  1613.      int i;
  1614.      for (i = 0; i < 6; i++) {
  1615.        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrsm(case 1896) real");
  1616.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrsm(case 1896) imag");
  1617.      };
  1618.    };
  1619.   };
  1620.  
  1621.  
  1622.   {
  1623.    int order = 101;
  1624.    int side = 141;
  1625.    int uplo = 122;
  1626.    int trans = 111;
  1627.    int diag = 132;
  1628.    int M = 2;
  1629.    int N = 3;
  1630.    float alpha[2] = {0.0f, 1.0f};
  1631.    float A[] = { -0.697f, -0.668f, 0.746f, -0.818f, 0.651f, 0.275f, -0.702f, -0.615f };
  1632.    int lda = 2;
  1633.    float B[] = { -0.876f, 0.842f, -0.848f, 0.901f, 0.75f, 0.361f, -0.702f, 0.039f, -0.41f, 0.541f, 0.489f, 0.025f };
  1634.    int ldb = 3;
  1635.    float B_expected[] = { -0.842f, -0.876f, -0.901f, -0.848f, -0.361f, 0.75f, 0.268242f, 0.099826f, -0.187649f, 0.389823f, 0.416261f, 0.100025f };
  1636.    cblas_ctrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  1637.    {
  1638.      int i;
  1639.      for (i = 0; i < 6; i++) {
  1640.        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrsm(case 1897) real");
  1641.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrsm(case 1897) imag");
  1642.      };
  1643.    };
  1644.   };
  1645.  
  1646.  
  1647.   {
  1648.    int order = 102;
  1649.    int side = 141;
  1650.    int uplo = 121;
  1651.    int trans = 111;
  1652.    int diag = 131;
  1653.    int M = 2;
  1654.    int N = 3;
  1655.    float alpha[2] = {0.0f, 1.0f};
  1656.    float A[] = { -0.394f, -0.65f, -0.082f, -0.632f, -0.53f, 0.483f, 0.149f, -0.192f };
  1657.    int lda = 2;
  1658.    float B[] = { -0.691f, 0.732f, 0.976f, 0.073f, 0.607f, 0.918f, -0.918f, 0.67f, 0.37f, -0.344f, -0.114f, -0.62f };
  1659.    int ldb = 2;
  1660.    float B_expected[] = { -1.39367f, -3.05481f, -3.35679f, 2.2248f, 4.33836f, -1.06673f, 1.29393f, -4.49373f, -1.89826f, 2.23995f, 1.93461f, 1.72783f };
  1661.    cblas_ctrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  1662.    {
  1663.      int i;
  1664.      for (i = 0; i < 6; i++) {
  1665.        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrsm(case 1898) real");
  1666.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrsm(case 1898) imag");
  1667.      };
  1668.    };
  1669.   };
  1670.  
  1671.  
  1672.   {
  1673.    int order = 102;
  1674.    int side = 141;
  1675.    int uplo = 121;
  1676.    int trans = 111;
  1677.    int diag = 132;
  1678.    int M = 2;
  1679.    int N = 3;
  1680.    float alpha[2] = {0.0f, 1.0f};
  1681.    float A[] = { 0.45f, 0.972f, -0.051f, 0.71f, -0.127f, -0.274f, 0.152f, 0.789f };
  1682.    int lda = 2;
  1683.    float B[] = { 0.683f, -0.915f, -0.773f, 0.088f, -0.28f, 0.17f, 0.818f, 0.293f, -0.551f, 0.365f, 0.899f, 0.257f };
  1684.    int ldb = 2;
  1685.    float B_expected[] = { 1.11563f, 0.560717f, -0.088f, -0.773f, -0.431343f, -0.256396f, -0.293f, 0.818f, -0.643965f, -0.507245f, -0.257f, 0.899f };
  1686.    cblas_ctrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  1687.    {
  1688.      int i;
  1689.      for (i = 0; i < 6; i++) {
  1690.        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrsm(case 1899) real");
  1691.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrsm(case 1899) imag");
  1692.      };
  1693.    };
  1694.   };
  1695.  
  1696.  
  1697.   {
  1698.    int order = 102;
  1699.    int side = 141;
  1700.    int uplo = 122;
  1701.    int trans = 111;
  1702.    int diag = 131;
  1703.    int M = 2;
  1704.    int N = 3;
  1705.    float alpha[2] = {0.0f, 1.0f};
  1706.    float A[] = { -0.993f, -0.028f, -0.547f, -0.251f, 0.781f, -0.315f, 0.865f, 0.229f };
  1707.    int lda = 2;
  1708.    float B[] = { 0.578f, 0.73f, -0.931f, 0.288f, 0.048f, 0.508f, -0.168f, 0.655f, 0.92f, -0.26f, 0.485f, 0.05f };
  1709.    int ldb = 2;
  1710.    float B_expected[] = { 0.718162f, -0.602325f, -0.0323644f, -1.24023f, 0.509813f, -0.0627138f, -0.410611f, 0.0227614f, -0.287729f, -0.918372f, -0.000635986f, -0.10338f };
  1711.    cblas_ctrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  1712.    {
  1713.      int i;
  1714.      for (i = 0; i < 6; i++) {
  1715.        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrsm(case 1900) real");
  1716.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrsm(case 1900) imag");
  1717.      };
  1718.    };
  1719.   };
  1720.  
  1721.  
  1722.   {
  1723.    int order = 102;
  1724.    int side = 141;
  1725.    int uplo = 122;
  1726.    int trans = 111;
  1727.    int diag = 132;
  1728.    int M = 2;
  1729.    int N = 3;
  1730.    float alpha[2] = {0.0f, 1.0f};
  1731.    float A[] = { 0.131f, -0.494f, 0.615f, -0.089f, -0.22f, -0.874f, 0.677f, 0.074f };
  1732.    int lda = 2;
  1733.    float B[] = { -0.276f, 0.539f, 0.647f, 0.986f, -0.34f, 0.983f, -0.819f, 0.144f, 0.361f, 0.561f, 0.178f, -0.433f };
  1734.    int ldb = 2;
  1735.    float B_expected[] = { -0.539f, -0.276f, -0.629951f, 0.768769f, -0.983f, -0.34f, 0.490805f, -0.697387f, -0.561f, 0.361f, 0.745886f, -0.093944f };
  1736.    cblas_ctrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  1737.    {
  1738.      int i;
  1739.      for (i = 0; i < 6; i++) {
  1740.        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrsm(case 1901) real");
  1741.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrsm(case 1901) imag");
  1742.      };
  1743.    };
  1744.   };
  1745.  
  1746.  
  1747.   {
  1748.    int order = 101;
  1749.    int side = 142;
  1750.    int uplo = 121;
  1751.    int trans = 111;
  1752.    int diag = 131;
  1753.    int M = 2;
  1754.    int N = 3;
  1755.    float alpha[2] = {0.0f, 1.0f};
  1756.    float A[] = { -0.123f, -0.726f, -0.011f, 0.245f, -0.205f, 0.77f, -0.81f, -0.973f, 0.354f, -0.835f, 0.552f, 0.396f, -0.524f, -0.204f, -0.814f, 0.284f, -0.976f, -0.835f };
  1757.    int lda = 3;
  1758.    float B[] = { -0.42f, 0.976f, -0.845f, 0.651f, -0.44f, -0.862f, 0.137f, 0.066f, -0.63f, 0.482f, -0.187f, 0.724f };
  1759.    int ldb = 3;
  1760.    float B_expected[] = { 0.783777f, -1.21156f, 0.66205f, -1.40548f, 0.886226f, 0.0391664f, -0.168468f, -0.119451f, 0.378144f, -0.774828f, 0.708857f, -0.807468f };
  1761.    cblas_ctrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  1762.    {
  1763.      int i;
  1764.      for (i = 0; i < 6; i++) {
  1765.        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrsm(case 1902) real");
  1766.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrsm(case 1902) imag");
  1767.      };
  1768.    };
  1769.   };
  1770.  
  1771.  
  1772.   {
  1773.    int order = 101;
  1774.    int side = 142;
  1775.    int uplo = 121;
  1776.    int trans = 111;
  1777.    int diag = 132;
  1778.    int M = 2;
  1779.    int N = 3;
  1780.    float alpha[2] = {0.0f, 1.0f};
  1781.    float A[] = { 0.921f, 0.167f, -0.41f, 0.578f, -0.372f, 0.106f, 0.551f, 0.668f, 0.295f, 0.855f, -0.167f, 0.976f, -0.782f, -0.777f, 0.278f, -0.98f, 0.038f, -0.832f };
  1782.    int lda = 3;
  1783.    float B[] = { 0.459f, 0.06f, 0.387f, 0.871f, -0.366f, 0.926f, 0.236f, -0.889f, 0.619f, 0.319f, -0.709f, 0.884f };
  1784.    int ldb = 3;
  1785.    float B_expected[] = { -0.06f, 0.459f, -0.630298f, 0.60987f, -0.409693f, 0.528127f, 0.889f, 0.236f, 0.181898f, 0.201918f, -0.300827f, -0.859254f };
  1786.    cblas_ctrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  1787.    {
  1788.      int i;
  1789.      for (i = 0; i < 6; i++) {
  1790.        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrsm(case 1903) real");
  1791.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrsm(case 1903) imag");
  1792.      };
  1793.    };
  1794.   };
  1795.  
  1796.  
  1797.   {
  1798.    int order = 101;
  1799.    int side = 142;
  1800.    int uplo = 122;
  1801.    int trans = 111;
  1802.    int diag = 131;
  1803.    int M = 2;
  1804.    int N = 3;
  1805.    float alpha[2] = {0.0f, 1.0f};
  1806.    float A[] = { -0.691f, -0.817f, 0.954f, -0.969f, -0.574f, -0.026f, 0.992f, 0.529f, 0.135f, -0.413f, -0.314f, -0.859f, -0.284f, -0.849f, 0.781f, 0.534f, -0.018f, 0.282f };
  1807.    int lda = 3;
  1808.    float B[] = { -0.028f, -0.429f, 0.066f, -0.854f, -0.316f, 0.514f, -0.465f, -0.857f, 0.286f, 0.415f, -0.486f, 0.538f };
  1809.    int ldb = 3;
  1810.    float B_expected[] = { 6.83575f, 2.7232f, 3.79999f, 5.15624f, -1.00015f, 1.88653f, 5.42614f, 2.69261f, 2.30584f, 3.85628f, -1.59513f, 2.00962f };
  1811.    cblas_ctrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  1812.    {
  1813.      int i;
  1814.      for (i = 0; i < 6; i++) {
  1815.        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrsm(case 1904) real");
  1816.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrsm(case 1904) imag");
  1817.      };
  1818.    };
  1819.   };
  1820.  
  1821.  
  1822.   {
  1823.    int order = 101;
  1824.    int side = 142;
  1825.    int uplo = 122;
  1826.    int trans = 111;
  1827.    int diag = 132;
  1828.    int M = 2;
  1829.    int N = 3;
  1830.    float alpha[2] = {0.0f, 1.0f};
  1831.    float A[] = { -0.839f, -0.318f, 0.175f, 0.72f, -0.683f, 0.395f, -0.279f, 0.151f, -0.71f, 0.445f, 0.533f, -0.38f, -0.749f, -0.833f, 0.871f, -0.426f, 0.195f, 0.889f };
  1832.    int lda = 3;
  1833.    float B[] = { 0.804f, -0.346f, 0.234f, 0.782f, 0.033f, 0.581f, 0.981f, -0.68f, 0.919f, -0.758f, 0.152f, -0.503f };
  1834.    int ldb = 3;
  1835.    float B_expected[] = { -0.20395f, 0.376748f, -0.290007f, -0.042249f, -0.581f, 0.033f, 1.15245f, 1.75457f, 0.255135f, 1.00089f, 0.503f, 0.152f };
  1836.    cblas_ctrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  1837.    {
  1838.      int i;
  1839.      for (i = 0; i < 6; i++) {
  1840.        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrsm(case 1905) real");
  1841.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrsm(case 1905) imag");
  1842.      };
  1843.    };
  1844.   };
  1845.  
  1846.  
  1847.   {
  1848.    int order = 102;
  1849.    int side = 142;
  1850.    int uplo = 121;
  1851.    int trans = 111;
  1852.    int diag = 131;
  1853.    int M = 2;
  1854.    int N = 3;
  1855.    float alpha[2] = {0.0f, 1.0f};
  1856.    float A[] = { -0.365f, -0.662f, 0.188f, -0.571f, 0.082f, 0.192f, -0.833f, -0.958f, 0.159f, -0.203f, 0.481f, 0.08f, -0.954f, 0.681f, -0.015f, 0.146f, -0.352f, -0.068f };
  1857.    int lda = 3;
  1858.    float B[] = { 0.779f, -0.691f, -0.516f, 0.148f, 0.721f, 0.217f, -0.976f, -0.963f, 0.532f, -0.366f, 0.176f, 0.4f };
  1859.    int ldb = 2;
  1860.    float B_expected[] = { -1.34375f, 0.302916f, 0.692272f, 0.158126f, -2.93098f, -5.71682f, 3.87247f, 3.8052f, 3.25028f, -6.53201f, -2.34332f, 2.30748f };
  1861.    cblas_ctrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  1862.    {
  1863.      int i;
  1864.      for (i = 0; i < 6; i++) {
  1865.        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrsm(case 1906) real");
  1866.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrsm(case 1906) imag");
  1867.      };
  1868.    };
  1869.   };
  1870.  
  1871.  
  1872.   {
  1873.    int order = 102;
  1874.    int side = 142;
  1875.    int uplo = 121;
  1876.    int trans = 111;
  1877.    int diag = 132;
  1878.    int M = 2;
  1879.    int N = 3;
  1880.    float alpha[2] = {0.0f, 1.0f};
  1881.    float A[] = { 0.779f, 0.065f, -0.616f, -0.245f, 0.823f, 0.689f, 0.06f, -0.164f, 0.768f, -0.727f, 0.897f, -0.556f, -0.875f, 0.862f, 0.863f, -0.085f, 0.171f, 0.063f };
  1882.    int lda = 3;
  1883.    float B[] = { -0.621f, 0.428f, 0.096f, 0.711f, 0.416f, -0.684f, 0.806f, 0.491f, 0.037f, -0.776f, -0.312f, 0.391f };
  1884.    int ldb = 2;
  1885.    float B_expected[] = { -0.428f, -0.621f, -0.711f, 0.096f, 0.811524f, 0.383068f, -0.464084f, 0.683636f, -0.866708f, -0.399047f, -0.587978f, -0.244543f };
  1886.    cblas_ctrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  1887.    {
  1888.      int i;
  1889.      for (i = 0; i < 6; i++) {
  1890.        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrsm(case 1907) real");
  1891.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrsm(case 1907) imag");
  1892.      };
  1893.    };
  1894.   };
  1895.  
  1896.  
  1897.   {
  1898.    int order = 102;
  1899.    int side = 142;
  1900.    int uplo = 122;
  1901.    int trans = 111;
  1902.    int diag = 131;
  1903.    int M = 2;
  1904.    int N = 3;
  1905.    float alpha[2] = {0.0f, 1.0f};
  1906.    float A[] = { -0.349f, 0.224f, -0.323f, 0.457f, 0.081f, 0.443f, 0.809f, 0.037f, -0.543f, 0.554f, 0.779f, 0.632f, -0.852f, -0.148f, -0.649f, -0.78f, 0.469f, -0.515f };
  1907.    int lda = 3;
  1908.    float B[] = { 0.162f, 0.754f, -0.978f, -0.097f, 0.986f, 0.943f, 0.676f, 0.718f, 0.204f, 0.264f, -0.124f, -0.73f };
  1909.    int ldb = 2;
  1910.    float B_expected[] = { 0.0811068f, 1.92921f, -3.74716f, 1.18561f, 1.80842f, -0.638944f, 0.528341f, 1.20828f, -0.471728f, -0.083028f, 0.837267f, 0.654994f };
  1911.    cblas_ctrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  1912.    {
  1913.      int i;
  1914.      for (i = 0; i < 6; i++) {
  1915.        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrsm(case 1908) real");
  1916.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrsm(case 1908) imag");
  1917.      };
  1918.    };
  1919.   };
  1920.  
  1921.  
  1922.   {
  1923.    int order = 102;
  1924.    int side = 142;
  1925.    int uplo = 122;
  1926.    int trans = 111;
  1927.    int diag = 132;
  1928.    int M = 2;
  1929.    int N = 3;
  1930.    float alpha[2] = {0.0f, 1.0f};
  1931.    float A[] = { -0.469f, -0.164f, -0.792f, -0.454f, 0.206f, 0.785f, 0.504f, -0.561f, 0.205f, 0.463f, -0.8f, 0.803f, 0.283f, 0.131f, 0.576f, -0.431f, 0.297f, -0.415f };
  1932.    int lda = 3;
  1933.    float B[] = { -0.364f, 0.853f, 0.056f, -0.78f, 0.05f, 0.223f, -0.166f, -0.097f, 0.24f, 0.721f, 0.023f, 0.508f };
  1934.    int ldb = 2;
  1935.    float B_expected[] = { -1.3696f, 0.527133f, 0.554099f, 0.524136f, -0.60708f, 0.820963f, -0.290931f, 0.260324f, -0.721f, 0.24f, -0.508f, 0.023f };
  1936.    cblas_ctrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  1937.    {
  1938.      int i;
  1939.      for (i = 0; i < 6; i++) {
  1940.        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrsm(case 1909) real");
  1941.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrsm(case 1909) imag");
  1942.      };
  1943.    };
  1944.   };
  1945.  
  1946.  
  1947.   {
  1948.    int order = 101;
  1949.    int side = 141;
  1950.    int uplo = 121;
  1951.    int trans = 112;
  1952.    int diag = 131;
  1953.    int M = 2;
  1954.    int N = 3;
  1955.    float alpha[2] = {1.0f, 0.0f};
  1956.    float A[] = { 0.917f, 0.367f, -0.115f, -0.321f, -0.811f, -0.563f, 0.78f, -0.742f };
  1957.    int lda = 2;
  1958.    float B[] = { 0.797f, 0.166f, 0.737f, -0.685f, 0.677f, -0.04f, -0.652f, 0.327f, 0.094f, -0.656f, 0.496f, -0.646f };
  1959.    int ldb = 3;
  1960.    float B_expected[] = { 0.811592f, -0.143789f, 0.435059f, -0.92112f, 0.621302f, -0.292277f, -0.710488f, 0.0561583f, 0.694329f, -0.137285f, 0.752465f, 0.100199f };
  1961.    cblas_ctrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  1962.    {
  1963.      int i;
  1964.      for (i = 0; i < 6; i++) {
  1965.        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrsm(case 1910) real");
  1966.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrsm(case 1910) imag");
  1967.      };
  1968.    };
  1969.   };
  1970.  
  1971.  
  1972.   {
  1973.    int order = 101;
  1974.    int side = 141;
  1975.    int uplo = 121;
  1976.    int trans = 112;
  1977.    int diag = 132;
  1978.    int M = 2;
  1979.    int N = 3;
  1980.    float alpha[2] = {1.0f, 0.0f};
  1981.    float A[] = { -0.384f, 0.783f, -0.086f, -0.649f, -0.574f, 0.216f, -0.809f, -0.608f };
  1982.    int lda = 2;
  1983.    float B[] = { 0.067f, -0.183f, -0.524f, 0.77f, 0.169f, 0.769f, -0.982f, -0.522f, -0.051f, -0.129f, 0.595f, 0.56f };
  1984.    int ldb = 3;
  1985.    float B_expected[] = { 0.067f, -0.183f, -0.524f, 0.77f, 0.169f, 0.769f, -0.857471f, -0.494255f, -0.595794f, -0.402856f, 0.110453f, 0.735815f };
  1986.    cblas_ctrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  1987.    {
  1988.      int i;
  1989.      for (i = 0; i < 6; i++) {
  1990.        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrsm(case 1911) real");
  1991.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrsm(case 1911) imag");
  1992.      };
  1993.    };
  1994.   };
  1995.  
  1996.  
  1997.   {
  1998.    int order = 101;
  1999.    int side = 141;
  2000.    int uplo = 122;
  2001.    int trans = 112;
  2002.    int diag = 131;
  2003.    int M = 2;
  2004.    int N = 3;
  2005.    float alpha[2] = {1.0f, 0.0f};
  2006.    float A[] = { 0.228f, -0.644f, 0.731f, 0.458f, 0.051f, -0.725f, 0.731f, 0.537f };
  2007.    int lda = 2;
  2008.    float B[] = { -0.588f, 0.01f, -0.009f, -0.374f, 0.422f, 0.758f, -0.428f, 0.263f, 0.659f, 0.171f, -0.239f, 0.968f };
  2009.    int ldb = 3;
  2010.    float B_expected[] = { -0.232749f, -1.39168f, -0.124158f, 0.287962f, -1.55821f, 0.0298572f, -0.208619f, 0.513035f, 0.697138f, -0.278198f, 0.419466f, 1.01607f };
  2011.    cblas_ctrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  2012.    {
  2013.      int i;
  2014.      for (i = 0; i < 6; i++) {
  2015.        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrsm(case 1912) real");
  2016.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrsm(case 1912) imag");
  2017.      };
  2018.    };
  2019.   };
  2020.  
  2021.  
  2022.   {
  2023.    int order = 101;
  2024.    int side = 141;
  2025.    int uplo = 122;
  2026.    int trans = 112;
  2027.    int diag = 132;
  2028.    int M = 2;
  2029.    int N = 3;
  2030.    float alpha[2] = {1.0f, 0.0f};
  2031.    float A[] = { -0.321f, 0.761f, 0.809f, -0.017f, -0.009f, -0.975f, 0.057f, 0.396f };
  2032.    int lda = 2;
  2033.    float B[] = { 0.377f, 0.776f, -0.686f, -0.561f, 0.29f, 0.601f, 0.755f, 0.518f, 0.313f, -0.394f, 0.945f, 0.395f };
  2034.    int ldb = 3;
  2035.    float B_expected[] = { -0.121255f, 1.51679f, -0.299033f, -0.259371f, -0.08662f, 1.52593f, 0.755f, 0.518f, 0.313f, -0.394f, 0.945f, 0.395f };
  2036.    cblas_ctrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  2037.    {
  2038.      int i;
  2039.      for (i = 0; i < 6; i++) {
  2040.        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrsm(case 1913) real");
  2041.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrsm(case 1913) imag");
  2042.      };
  2043.    };
  2044.   };
  2045.  
  2046.  
  2047.   {
  2048.    int order = 102;
  2049.    int side = 141;
  2050.    int uplo = 121;
  2051.    int trans = 112;
  2052.    int diag = 131;
  2053.    int M = 2;
  2054.    int N = 3;
  2055.    float alpha[2] = {1.0f, 0.0f};
  2056.    float A[] = { 0.186f, 0.818f, -0.142f, -0.376f, 0.332f, 0.746f, 0.413f, -0.151f };
  2057.    int lda = 2;
  2058.    float B[] = { -0.374f, -0.787f, 0.221f, -0.104f, 0.74f, -0.548f, 0.88f, -0.66f, 0.65f, 0.046f, -0.839f, -0.783f };
  2059.    int ldb = 2;
  2060.    float B_expected[] = { -1.01366f, 0.226724f, 1.10152f, 1.79962f, -0.441403f, -1.00501f, 0.588898f, 0.222456f, 0.225271f, -0.743398f, -2.5862f, -2.65075f };
  2061.    cblas_ctrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  2062.    {
  2063.      int i;
  2064.      for (i = 0; i < 6; i++) {
  2065.        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrsm(case 1914) real");
  2066.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrsm(case 1914) imag");
  2067.      };
  2068.    };
  2069.   };
  2070.  
  2071.  
  2072.   {
  2073.    int order = 102;
  2074.    int side = 141;
  2075.    int uplo = 121;
  2076.    int trans = 112;
  2077.    int diag = 132;
  2078.    int M = 2;
  2079.    int N = 3;
  2080.    float alpha[2] = {1.0f, 0.0f};
  2081.    float A[] = { -0.574f, 0.018f, -0.584f, -0.184f, 0.41f, 0.075f, 0.92f, 0.022f };
  2082.    int lda = 2;
  2083.    float B[] = { 0.524f, -0.234f, 0.198f, 0.079f, -0.449f, -0.433f, -0.14f, -0.201f, -0.242f, -0.368f, -0.298f, 0.693f };
  2084.    int ldb = 2;
  2085.    float B_expected[] = { 0.524f, -0.234f, -0.03439f, 0.13564f, -0.449f, -0.433f, 0.011615f, 0.010205f, -0.242f, -0.368f, -0.22638f, 0.86203f };
  2086.    cblas_ctrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  2087.    {
  2088.      int i;
  2089.      for (i = 0; i < 6; i++) {
  2090.        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrsm(case 1915) real");
  2091.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrsm(case 1915) imag");
  2092.      };
  2093.    };
  2094.   };
  2095.  
  2096.  
  2097.   {
  2098.    int order = 102;
  2099.    int side = 141;
  2100.    int uplo = 122;
  2101.    int trans = 112;
  2102.    int diag = 131;
  2103.    int M = 2;
  2104.    int N = 3;
  2105.    float alpha[2] = {1.0f, 0.0f};
  2106.    float A[] = { 0.422f, -0.38f, 0.919f, -0.229f, -0.849f, -0.19f, 0.02f, -0.181f };
  2107.    int lda = 2;
  2108.    float B[] = { 0.971f, -0.339f, 0.203f, 0.083f, 0.461f, -0.623f, 0.334f, 0.653f, 0.694f, 0.42f, 0.239f, -0.061f };
  2109.    int ldb = 2;
  2110.    float B_expected[] = { 3.06394f, -0.745692f, -0.330599f, 1.15808f, 8.0252f, -0.902398f, -3.36278f, 2.21688f, 0.70369f, -0.872941f, 0.477097f, 1.26772f };
  2111.    cblas_ctrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  2112.    {
  2113.      int i;
  2114.      for (i = 0; i < 6; i++) {
  2115.        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrsm(case 1916) real");
  2116.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrsm(case 1916) imag");
  2117.      };
  2118.    };
  2119.   };
  2120.  
  2121.  
  2122.   {
  2123.    int order = 102;
  2124.    int side = 141;
  2125.    int uplo = 122;
  2126.    int trans = 112;
  2127.    int diag = 132;
  2128.    int M = 2;
  2129.    int N = 3;
  2130.    float alpha[2] = {1.0f, 0.0f};
  2131.    float A[] = { 0.564f, 0.483f, -0.635f, 0.84f, 0.238f, 0.35f, 0.96f, 0.397f };
  2132.    int lda = 2;
  2133.    float B[] = { 0.963f, -0.513f, 0.989f, 0.404f, -0.352f, 0.924f, 0.052f, -0.059f, -0.771f, 0.341f, -0.566f, -0.844f };
  2134.    int ldb = 2;
  2135.    float B_expected[] = { 1.93037f, -1.08722f, 0.989f, 0.404f, -0.36854f, 0.842855f, 0.052f, -0.059f, -1.83937f, 0.2805f, -0.566f, -0.844f };
  2136.    cblas_ctrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  2137.    {
  2138.      int i;
  2139.      for (i = 0; i < 6; i++) {
  2140.        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrsm(case 1917) real");
  2141.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrsm(case 1917) imag");
  2142.      };
  2143.    };
  2144.   };
  2145.  
  2146.  
  2147.   {
  2148.    int order = 101;
  2149.    int side = 142;
  2150.    int uplo = 121;
  2151.    int trans = 112;
  2152.    int diag = 131;
  2153.    int M = 2;
  2154.    int N = 3;
  2155.    float alpha[2] = {1.0f, 0.0f};
  2156.    float A[] = { 0.182f, 0.699f, 0.303f, -0.273f, -0.363f, 0.02f, 0.991f, -0.206f, -0.347f, 0.269f, -0.384f, 0.797f, 0.392f, -0.966f, 0.347f, 0.87f, 0.016f, -0.097f };
  2157.    int lda = 3;
  2158.    float B[] = { 0.587f, 0.875f, -0.848f, 0.154f, -0.887f, -0.709f, 0.824f, -0.895f, 0.159f, 0.933f, -0.011f, -0.393f };
  2159.    int ldb = 3;
  2160.    float B_expected[] = { -14.9753f, 2.31554f, 0.613295f, 24.1527f, 5.64728f, -10.0758f, -3.79783f, -5.34545f, -5.38045f, 2.99977f, 3.92602f, -0.760993f };
  2161.    cblas_ctrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  2162.    {
  2163.      int i;
  2164.      for (i = 0; i < 6; i++) {
  2165.        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrsm(case 1918) real");
  2166.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrsm(case 1918) imag");
  2167.      };
  2168.    };
  2169.   };
  2170.  
  2171.  
  2172.   {
  2173.    int order = 101;
  2174.    int side = 142;
  2175.    int uplo = 121;
  2176.    int trans = 112;
  2177.    int diag = 132;
  2178.    int M = 2;
  2179.    int N = 3;
  2180.    float alpha[2] = {1.0f, 0.0f};
  2181.    float A[] = { 0.637f, -0.57f, 0.322f, -0.303f, 0.618f, 0.261f, 0.654f, -0.238f, 0.66f, -0.485f, 0.223f, -0.196f, -0.252f, 0.929f, -0.012f, 0.965f, 0.783f, 0.489f };
  2182.    int lda = 3;
  2183.    float B[] = { 0.894f, 0.93f, 0.648f, 0.914f, 0.7f, -0.138f, 0.63f, -0.173f, -0.671f, -0.327f, -0.922f, 0.816f };
  2184.    int ldb = 3;
  2185.    float B_expected[] = { -0.0695574f, 0.64143f, 0.518948f, 1.08197f, 0.7f, -0.138f, 1.8231f, -0.404044f, -0.62533f, -0.68968f, -0.922f, 0.816f };
  2186.    cblas_ctrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  2187.    {
  2188.      int i;
  2189.      for (i = 0; i < 6; i++) {
  2190.        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrsm(case 1919) real");
  2191.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrsm(case 1919) imag");
  2192.      };
  2193.    };
  2194.   };
  2195.  
  2196.  
  2197.   {
  2198.    int order = 101;
  2199.    int side = 142;
  2200.    int uplo = 122;
  2201.    int trans = 112;
  2202.    int diag = 131;
  2203.    int M = 2;
  2204.    int N = 3;
  2205.    float alpha[2] = {1.0f, 0.0f};
  2206.    float A[] = { 0.274f, 0.721f, -0.445f, 0.14f, 0.023f, -0.945f, 0.859f, -0.522f, -0.227f, 0.722f, 0.165f, 0.969f, -0.212f, -0.816f, 0.908f, -0.652f, -0.208f, -0.229f };
  2207.    int lda = 3;
  2208.    float B[] = { 0.011f, -0.818f, 0.067f, -0.191f, -0.911f, 0.84f, -0.162f, -0.951f, -0.502f, -0.21f, 0.492f, 0.767f };
  2209.    int ldb = 3;
  2210.    float B_expected[] = { -0.986296f, -0.390076f, -0.910328f, -1.26205f, -3.05033f, 0.930902f, -1.22716f, -0.241667f, -1.07925f, -0.600129f, -2.84941f, 5.27338f };
  2211.    cblas_ctrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  2212.    {
  2213.      int i;
  2214.      for (i = 0; i < 6; i++) {
  2215.        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrsm(case 1920) real");
  2216.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrsm(case 1920) imag");
  2217.      };
  2218.    };
  2219.   };
  2220.  
  2221.  
  2222.   {
  2223.    int order = 101;
  2224.    int side = 142;
  2225.    int uplo = 122;
  2226.    int trans = 112;
  2227.    int diag = 132;
  2228.    int M = 2;
  2229.    int N = 3;
  2230.    float alpha[2] = {1.0f, 0.0f};
  2231.    float A[] = { -0.186f, 0.118f, -0.545f, 0.784f, 0.057f, 0.39f, 0.77f, -0.518f, -0.97f, 0.271f, 0.488f, 0.637f, -0.482f, -0.993f, -0.797f, -0.945f, 0.257f, 0.3f };
  2232.    int lda = 3;
  2233.    float B[] = { -0.783f, 0.649f, 0.698f, 0.046f, -0.153f, 0.473f, -0.996f, -0.211f, 0.84f, 0.201f, -0.457f, 0.918f };
  2234.    int ldb = 3;
  2235.    float B_expected[] = { -0.783f, 0.649f, 0.964728f, -0.859324f, 0.406086f, 0.235086f, -0.996f, -0.211f, 1.71622f, -0.152458f, 0.78435f, 1.32759f };
  2236.    cblas_ctrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  2237.    {
  2238.      int i;
  2239.      for (i = 0; i < 6; i++) {
  2240.        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrsm(case 1921) real");
  2241.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrsm(case 1921) imag");
  2242.      };
  2243.    };
  2244.   };
  2245.  
  2246.  
  2247.   {
  2248.    int order = 102;
  2249.    int side = 142;
  2250.    int uplo = 121;
  2251.    int trans = 112;
  2252.    int diag = 131;
  2253.    int M = 2;
  2254.    int N = 3;
  2255.    float alpha[2] = {1.0f, 0.0f};
  2256.    float A[] = { -0.681f, -0.342f, -0.195f, -0.053f, 0.016f, -0.191f, 0.989f, -0.718f, -0.59f, 0.646f, -0.41f, -0.809f, -0.359f, -0.783f, -0.902f, 0.917f, -0.703f, 0.795f };
  2257.    int lda = 3;
  2258.    float B[] = { -0.27f, 0.037f, 0.349f, 0.36f, -0.293f, 0.128f, -0.481f, -0.834f, -0.815f, -0.6f, 0.728f, 0.122f };
  2259.    int ldb = 2;
  2260.    float B_expected[] = { -0.69977f, -2.39368f, 2.17354f, 1.74016f, 0.260417f, -1.25151f, 0.175881f, 1.93577f, 0.085191f, 0.949825f, -0.368302f, -0.590043f };
  2261.    cblas_ctrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  2262.    {
  2263.      int i;
  2264.      for (i = 0; i < 6; i++) {
  2265.        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrsm(case 1922) real");
  2266.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrsm(case 1922) imag");
  2267.      };
  2268.    };
  2269.   };
  2270.  
  2271.  
  2272.   {
  2273.    int order = 102;
  2274.    int side = 142;
  2275.    int uplo = 121;
  2276.    int trans = 112;
  2277.    int diag = 132;
  2278.    int M = 2;
  2279.    int N = 3;
  2280.    float alpha[2] = {1.0f, 0.0f};
  2281.    float A[] = { -0.132f, 0.33f, 0.357f, 0.32f, 0.833f, -0.111f, -0.192f, -0.643f, -0.622f, -0.663f, -0.58f, 0.423f, -0.874f, 0.86f, -0.281f, -0.992f, 0.055f, 0.137f };
  2282.    int lda = 3;
  2283.    float B[] = { 0.104f, -0.906f, -0.712f, 0.103f, -0.474f, -0.591f, 0.073f, -0.906f, -0.261f, -0.391f, 0.881f, -0.345f };
  2284.    int ldb = 2;
  2285.    float B_expected[] = { 0.126148f, -1.31009f, -0.0285057f, -0.554776f, -0.159469f, -0.959783f, 0.662801f, -0.128993f, -0.261f, -0.391f, 0.881f, -0.345f };
  2286.    cblas_ctrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  2287.    {
  2288.      int i;
  2289.      for (i = 0; i < 6; i++) {
  2290.        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrsm(case 1923) real");
  2291.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrsm(case 1923) imag");
  2292.      };
  2293.    };
  2294.   };
  2295.  
  2296.  
  2297.   {
  2298.    int order = 102;
  2299.    int side = 142;
  2300.    int uplo = 122;
  2301.    int trans = 112;
  2302.    int diag = 131;
  2303.    int M = 2;
  2304.    int N = 3;
  2305.    float alpha[2] = {1.0f, 0.0f};
  2306.    float A[] = { -0.353f, -0.581f, -0.648f, 0.894f, 0.825f, -0.23f, -0.529f, 0.213f, 0.568f, 0.296f, 0.372f, 0.442f, 0.515f, -0.409f, 0.222f, -0.246f, -0.524f, 0.318f };
  2307.    int lda = 3;
  2308.    float B[] = { -0.467f, 0.632f, 0.672f, 0.777f, -0.609f, 0.511f, -0.991f, 0.311f, -0.617f, -0.732f, -0.585f, 0.152f };
  2309.    int ldb = 2;
  2310.    float B_expected[] = { -0.437806f, -1.06979f, -1.49004f, 0.251317f, -2.40924f, 1.62379f, -1.09482f, 3.75003f, -1.80514f, -2.07012f, -4.8059f, -0.418185f };
  2311.    cblas_ctrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  2312.    {
  2313.      int i;
  2314.      for (i = 0; i < 6; i++) {
  2315.        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrsm(case 1924) real");
  2316.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrsm(case 1924) imag");
  2317.      };
  2318.    };
  2319.   };
  2320.  
  2321.  
  2322.   {
  2323.    int order = 102;
  2324.    int side = 142;
  2325.    int uplo = 122;
  2326.    int trans = 112;
  2327.    int diag = 132;
  2328.    int M = 2;
  2329.    int N = 3;
  2330.    float alpha[2] = {1.0f, 0.0f};
  2331.    float A[] = { -0.201f, -0.918f, -0.514f, -0.889f, -0.948f, 0.34f, 0.818f, 0.557f, 0.341f, 0.484f, 0.235f, 0.561f, 0.874f, -0.342f, -0.411f, -0.975f, -0.85f, -0.621f };
  2332.    int lda = 3;
  2333.    float B[] = { -0.389f, -0.252f, 0.322f, -0.763f, -0.839f, -0.744f, -0.946f, -0.312f, 0.051f, -0.686f, -0.626f, -0.043f };
  2334.    int ldb = 2;
  2335.    float B_expected[] = { -0.389f, -0.252f, 0.322f, -0.763f, -0.814918f, -1.21935f, -0.102185f, -0.417924f, -0.896001f, -0.04892f, -0.790606f, -0.720266f };
  2336.    cblas_ctrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  2337.    {
  2338.      int i;
  2339.      for (i = 0; i < 6; i++) {
  2340.        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrsm(case 1925) real");
  2341.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrsm(case 1925) imag");
  2342.      };
  2343.    };
  2344.   };
  2345.  
  2346.  
  2347.   {
  2348.    int order = 101;
  2349.    int side = 141;
  2350.    int uplo = 121;
  2351.    int trans = 113;
  2352.    int diag = 131;
  2353.    int M = 2;
  2354.    int N = 3;
  2355.    float alpha[2] = {-0.3f, 0.1f};
  2356.    float A[] = { 0.571f, 0.12f, 0.665f, 0.425f, -0.977f, -0.772f, -0.944f, -0.154f };
  2357.    int lda = 2;
  2358.    float B[] = { -0.357f, -0.213f, 0.57f, 0.134f, 0.089f, 0.046f, 0.027f, 0.825f, -0.127f, 0.658f, -0.332f, 0.247f };
  2359.    int ldb = 3;
  2360.    float B_expected[] = { 0.205417f, 0.092557f, -0.315204f, -0.0368205f, -0.0507703f, -0.0192512f, 0.238158f, 0.270895f, -0.257649f, 0.296502f, -0.140106f, 0.100105f };
  2361.    cblas_ctrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  2362.    {
  2363.      int i;
  2364.      for (i = 0; i < 6; i++) {
  2365.        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrsm(case 1926) real");
  2366.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrsm(case 1926) imag");
  2367.      };
  2368.    };
  2369.   };
  2370.  
  2371.  
  2372.   {
  2373.    int order = 101;
  2374.    int side = 141;
  2375.    int uplo = 121;
  2376.    int trans = 113;
  2377.    int diag = 132;
  2378.    int M = 2;
  2379.    int N = 3;
  2380.    float alpha[2] = {-0.3f, 0.1f};
  2381.    float A[] = { 0.051f, 0.966f, 0.04f, -0.765f, 0.276f, -0.798f, 0.766f, -0.37f };
  2382.    int lda = 2;
  2383.    float B[] = { 0.532f, 0.59f, 0.305f, 0.443f, 0.036f, 0.655f, -0.145f, -0.864f, -0.483f, -0.45f, -0.327f, -0.365f };
  2384.    int ldb = 3;
  2385.    float B_expected[] = { -0.2186f, -0.1238f, -0.1358f, -0.1024f, -0.0763f, -0.1929f, 0.043937f, 0.416881f, 0.116996f, 0.194683f, -0.0099165f, 0.142885f };
  2386.    cblas_ctrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  2387.    {
  2388.      int i;
  2389.      for (i = 0; i < 6; i++) {
  2390.        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrsm(case 1927) real");
  2391.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrsm(case 1927) imag");
  2392.      };
  2393.    };
  2394.   };
  2395.  
  2396.  
  2397.   {
  2398.    int order = 101;
  2399.    int side = 141;
  2400.    int uplo = 122;
  2401.    int trans = 113;
  2402.    int diag = 131;
  2403.    int M = 2;
  2404.    int N = 3;
  2405.    float alpha[2] = {-0.3f, 0.1f};
  2406.    float A[] = { -0.163f, -0.238f, -0.032f, 0.494f, 0.863f, 0.96f, 0.669f, 0.415f };
  2407.    int lda = 2;
  2408.    float B[] = { -0.724f, -0.682f, 0.034f, 0.352f, 0.42f, 0.253f, 0.186f, -0.061f, 0.278f, -0.764f, -0.484f, 0.051f };
  2409.    int ldb = 3;
  2410.    float B_expected[] = { -0.532386f, -1.09223f, -1.1606f, 1.43429f, 1.04476f, 0.724237f, -0.0783541f, 0.00655162f, -0.179639f, 0.27272f, 0.193877f, 0.0250509f };
  2411.    cblas_ctrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  2412.    {
  2413.      int i;
  2414.      for (i = 0; i < 6; i++) {
  2415.        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrsm(case 1928) real");
  2416.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrsm(case 1928) imag");
  2417.      };
  2418.    };
  2419.   };
  2420.  
  2421.  
  2422.   {
  2423.    int order = 101;
  2424.    int side = 141;
  2425.    int uplo = 122;
  2426.    int trans = 113;
  2427.    int diag = 132;
  2428.    int M = 2;
  2429.    int N = 3;
  2430.    float alpha[2] = {-0.3f, 0.1f};
  2431.    float A[] = { 0.533f, 0.575f, 0.808f, -0.631f, 0.185f, 0.296f, -0.757f, -0.279f };
  2432.    int lda = 2;
  2433.    float B[] = { -0.744f, -0.881f, -0.594f, 0.629f, -0.924f, 0.017f, -0.089f, -0.052f, 0.959f, -0.486f, 0.39f, -0.378f };
  2434.    int ldb = 3;
  2435.    float B_expected[] = { 0.303415f, 0.198103f, 0.0879903f, -0.363588f, 0.245042f, -0.149137f, 0.0319f, 0.0067f, -0.2391f, 0.2417f, -0.0792f, 0.1524f };
  2436.    cblas_ctrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  2437.    {
  2438.      int i;
  2439.      for (i = 0; i < 6; i++) {
  2440.        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrsm(case 1929) real");
  2441.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrsm(case 1929) imag");
  2442.      };
  2443.    };
  2444.   };
  2445.  
  2446.  
  2447.   {
  2448.    int order = 102;
  2449.    int side = 141;
  2450.    int uplo = 121;
  2451.    int trans = 113;
  2452.    int diag = 131;
  2453.    int M = 2;
  2454.    int N = 3;
  2455.    float alpha[2] = {-0.3f, 0.1f};
  2456.    float A[] = { -0.001f, -0.948f, -0.97f, -0.285f, -0.664f, -0.977f, -0.746f, 0.192f };
  2457.    int lda = 2;
  2458.    float B[] = { 0.997f, -0.852f, 0.87f, -0.955f, 0.007f, -0.071f, -0.263f, -0.077f, -0.856f, 0.228f, -0.81f, 0.476f };
  2459.    int ldb = 2;
  2460.    float B_expected[] = { 0.375027f, 0.225237f, -0.432345f, -0.0987217f, 0.0232012f, -0.00529874f, -0.112225f, 0.0682749f, -0.162707f, -0.246664f, 0.267117f, 0.237712f };
  2461.    cblas_ctrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  2462.    {
  2463.      int i;
  2464.      for (i = 0; i < 6; i++) {
  2465.        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrsm(case 1930) real");
  2466.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrsm(case 1930) imag");
  2467.      };
  2468.    };
  2469.   };
  2470.  
  2471.  
  2472.   {
  2473.    int order = 102;
  2474.    int side = 141;
  2475.    int uplo = 121;
  2476.    int trans = 113;
  2477.    int diag = 132;
  2478.    int M = 2;
  2479.    int N = 3;
  2480.    float alpha[2] = {-0.3f, 0.1f};
  2481.    float A[] = { 0.804f, 0.476f, -0.898f, -0.966f, 0.51f, -0.346f, 0.622f, -0.749f };
  2482.    int lda = 2;
  2483.    float B[] = { -0.964f, 0.453f, 0.799f, -0.949f, -0.055f, 0.803f, 0.99f, -0.162f, 0.913f, -0.081f, -0.057f, 0.014f };
  2484.    int ldb = 2;
  2485.    float B_expected[] = { 0.2439f, -0.2323f, -0.349565f, 0.398684f, -0.0638f, -0.2464f, -0.333516f, 0.295339f, -0.2658f, 0.1156f, 0.191256f, 0.0231108f };
  2486.    cblas_ctrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  2487.    {
  2488.      int i;
  2489.      for (i = 0; i < 6; i++) {
  2490.        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrsm(case 1931) real");
  2491.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrsm(case 1931) imag");
  2492.      };
  2493.    };
  2494.   };
  2495.  
  2496.  
  2497.   {
  2498.    int order = 102;
  2499.    int side = 141;
  2500.    int uplo = 122;
  2501.    int trans = 113;
  2502.    int diag = 131;
  2503.    int M = 2;
  2504.    int N = 3;
  2505.    float alpha[2] = {-0.3f, 0.1f};
  2506.    float A[] = { -0.144f, -0.611f, -0.054f, 0.618f, 0.213f, 0.49f, -0.465f, -0.488f };
  2507.    int lda = 2;
  2508.    float B[] = { -0.225f, -0.663f, 0.073f, -0.379f, -0.297f, 0.822f, -0.038f, -0.935f, -0.81f, 0.885f, -0.065f, 0.412f };
  2509.    int ldb = 2;
  2510.    float B_expected[] = { 0.287563f, -0.439427f, 0.113582f, -0.141015f, -0.375321f, -0.339988f, 0.189826f, -0.395838f, -0.655583f, 0.0702722f, -0.117522f, 0.15645f };
  2511.    cblas_ctrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  2512.    {
  2513.      int i;
  2514.      for (i = 0; i < 6; i++) {
  2515.        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrsm(case 1932) real");
  2516.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrsm(case 1932) imag");
  2517.      };
  2518.    };
  2519.   };
  2520.  
  2521.  
  2522.   {
  2523.    int order = 102;
  2524.    int side = 141;
  2525.    int uplo = 122;
  2526.    int trans = 113;
  2527.    int diag = 132;
  2528.    int M = 2;
  2529.    int N = 3;
  2530.    float alpha[2] = {-0.3f, 0.1f};
  2531.    float A[] = { -0.367f, 0.502f, -0.309f, 0.404f, 0.531f, -0.188f, 0.181f, 0.583f };
  2532.    int lda = 2;
  2533.    float B[] = { 0.861f, -0.648f, 0.906f, -0.402f, 0.455f, 0.412f, 0.34f, -0.248f, 0.107f, 0.507f, 0.088f, -0.593f };
  2534.    int ldb = 2;
  2535.    float B_expected[] = { -0.350389f, 0.252194f, -0.2316f, 0.2112f, -0.245348f, -0.0757932f, -0.0772f, 0.1084f, -0.148061f, -0.0704181f, 0.0329f, 0.1867f };
  2536.    cblas_ctrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  2537.    {
  2538.      int i;
  2539.      for (i = 0; i < 6; i++) {
  2540.        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrsm(case 1933) real");
  2541.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrsm(case 1933) imag");
  2542.      };
  2543.    };
  2544.   };
  2545.  
  2546.  
  2547.   {
  2548.    int order = 101;
  2549.    int side = 142;
  2550.    int uplo = 121;
  2551.    int trans = 113;
  2552.    int diag = 131;
  2553.    int M = 2;
  2554.    int N = 3;
  2555.    float alpha[2] = {-0.3f, 0.1f};
  2556.    float A[] = { -0.476f, 0.202f, -0.66f, 0.774f, -0.943f, -0.99f, -0.035f, 0.901f, -0.742f, -0.085f, -0.335f, -0.591f, 0.799f, 0.515f, 0.753f, 0.76f, -0.042f, -0.011f };
  2557.    int lda = 3;
  2558.    float B[] = { 0.025f, -0.976f, -0.44f, 0.741f, -0.126f, 0.527f, 0.743f, 0.216f, 0.661f, -0.071f, 0.564f, -0.093f };
  2559.    int ldb = 3;
  2560.    float B_expected[] = { -6.73789f, 0.501263f, -2.62173f, -2.22684f, -0.664138f, 3.89034f, 4.11106f, 5.79368f, -1.20958f, 3.39994f, 4.05469f, -0.945199f };
  2561.    cblas_ctrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  2562.    {
  2563.      int i;
  2564.      for (i = 0; i < 6; i++) {
  2565.        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrsm(case 1934) real");
  2566.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrsm(case 1934) imag");
  2567.      };
  2568.    };
  2569.   };
  2570.  
  2571.  
  2572.   {
  2573.    int order = 101;
  2574.    int side = 142;
  2575.    int uplo = 121;
  2576.    int trans = 113;
  2577.    int diag = 132;
  2578.    int M = 2;
  2579.    int N = 3;
  2580.    float alpha[2] = {-0.3f, 0.1f};
  2581.    float A[] = { -0.999f, 0.418f, 0.687f, 0.6f, 0.106f, -0.737f, -0.165f, 0.263f, 0.998f, -0.092f, 0.555f, -0.671f, -0.162f, -0.814f, 0.317f, 0.582f, 0.302f, -0.48f };
  2582.    int lda = 3;
  2583.    float B[] = { 0.699f, 0.128f, 0.296f, -0.021f, 0.654f, 0.14f, 0.008f, 0.94f, -0.963f, 0.333f, -0.481f, -0.917f };
  2584.    int ldb = 3;
  2585.    float B_expected[] = { -0.312717f, 0.0986958f, 0.0456624f, 0.163957f, -0.2102f, 0.0234f, 0.143952f, 0.0170999f, 0.276937f, -0.480541f, 0.236f, 0.227f };
  2586.    cblas_ctrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  2587.    {
  2588.      int i;
  2589.      for (i = 0; i < 6; i++) {
  2590.        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrsm(case 1935) real");
  2591.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrsm(case 1935) imag");
  2592.      };
  2593.    };
  2594.   };
  2595.  
  2596.  
  2597.   {
  2598.    int order = 101;
  2599.    int side = 142;
  2600.    int uplo = 122;
  2601.    int trans = 113;
  2602.    int diag = 131;
  2603.    int M = 2;
  2604.    int N = 3;
  2605.    float alpha[2] = {-0.3f, 0.1f};
  2606.    float A[] = { -0.932f, 0.532f, -0.763f, -0.029f, -0.524f, -0.938f, 0.007f, -0.445f, -0.659f, 0.709f, -0.581f, 0.825f, -0.904f, -0.453f, 0.119f, 0.964f, -0.649f, 0.48f };
  2607.    int lda = 3;
  2608.    float B[] = { -0.571f, 0.138f, 0.038f, -0.175f, 0.737f, 0.567f, -0.569f, 0.062f, 0.522f, -0.625f, 0.156f, 0.799f };
  2609.    int ldb = 3;
  2610.    float B_expected[] = { -0.0819591f, 0.15247f, -0.121808f, -0.00810757f, 0.287388f, -0.154159f, -0.0982488f, 0.13709f, -0.190946f, -0.223188f, 0.0729118f, 0.274542f };
  2611.    cblas_ctrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  2612.    {
  2613.      int i;
  2614.      for (i = 0; i < 6; i++) {
  2615.        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrsm(case 1936) real");
  2616.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrsm(case 1936) imag");
  2617.      };
  2618.    };
  2619.   };
  2620.  
  2621.  
  2622.   {
  2623.    int order = 101;
  2624.    int side = 142;
  2625.    int uplo = 122;
  2626.    int trans = 113;
  2627.    int diag = 132;
  2628.    int M = 2;
  2629.    int N = 3;
  2630.    float alpha[2] = {-0.3f, 0.1f};
  2631.    float A[] = { 0.527f, 0.272f, 0.431f, 0.642f, -0.239f, -0.254f, -0.231f, 0.766f, 0.85f, -0.09f, 0.679f, -0.898f, 0.192f, -0.651f, -0.869f, 0.859f, 0.68f, 0.03f };
  2632.    int lda = 3;
  2633.    float B[] = { 0.867f, 0.816f, -0.643f, 0.509f, -0.594f, -0.833f, -0.174f, 0.51f, 0.676f, 0.115f, 0.261f, -0.409f };
  2634.    int ldb = 3;
  2635.    float B_expected[] = { -0.3417f, -0.1581f, 0.184172f, -0.515263f, 0.82684f, 0.153742f, 0.0012f, -0.1704f, -0.0834964f, -0.0053432f, -0.216529f, 0.104369f };
  2636.    cblas_ctrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  2637.    {
  2638.      int i;
  2639.      for (i = 0; i < 6; i++) {
  2640.        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrsm(case 1937) real");
  2641.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrsm(case 1937) imag");
  2642.      };
  2643.    };
  2644.   };
  2645.  
  2646.  
  2647.   {
  2648.    int order = 102;
  2649.    int side = 142;
  2650.    int uplo = 121;
  2651.    int trans = 113;
  2652.    int diag = 131;
  2653.    int M = 2;
  2654.    int N = 3;
  2655.    float alpha[2] = {-0.3f, 0.1f};
  2656.    float A[] = { 0.606f, -0.757f, 0.503f, -0.649f, -0.269f, -0.484f, 0.626f, -0.107f, -0.867f, -0.047f, -0.779f, 0.675f, 0.249f, 0.645f, -0.755f, 0.242f, 0.941f, 0.189f };
  2657.    int lda = 3;
  2658.    float B[] = { -0.402f, 0.252f, -0.214f, 0.745f, 0.342f, -0.98f, -0.096f, 0.38f, -0.543f, 0.605f, 0.63f, -0.059f };
  2659.    int ldb = 2;
  2660.    float B_expected[] = { 0.349049f, -0.0955741f, -0.472341f, -0.259287f, -0.176304f, -0.239347f, 0.191174f, 0.170679f, 0.152979f, -0.219859f, -0.203592f, 0.0448683f };
  2661.    cblas_ctrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  2662.    {
  2663.      int i;
  2664.      for (i = 0; i < 6; i++) {
  2665.        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrsm(case 1938) real");
  2666.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrsm(case 1938) imag");
  2667.      };
  2668.    };
  2669.   };
  2670.  
  2671.  
  2672.   {
  2673.    int order = 102;
  2674.    int side = 142;
  2675.    int uplo = 121;
  2676.    int trans = 113;
  2677.    int diag = 132;
  2678.    int M = 2;
  2679.    int N = 3;
  2680.    float alpha[2] = {-0.3f, 0.1f};
  2681.    float A[] = { -0.797f, -0.288f, 0.943f, -0.821f, -0.565f, 0.73f, -0.146f, -0.967f, 0.473f, -0.095f, 0.877f, 0.178f, -0.159f, 0.021f, -0.988f, 0.296f, 0.279f, -0.513f };
  2682.    int lda = 3;
  2683.    float B[] = { -0.455f, 0.859f, -0.21f, 0.702f, -0.591f, -0.235f, 0.519f, 0.279f, -0.444f, 0.816f, -0.507f, 0.893f };
  2684.    int ldb = 2;
  2685.    float B_expected[] = { -0.136371f, -0.712172f, -0.311667f, -0.302476f, 0.337384f, -0.259056f, -0.027248f, -0.327988f, 0.0516f, -0.2892f, 0.0628f, -0.3186f };
  2686.    cblas_ctrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  2687.    {
  2688.      int i;
  2689.      for (i = 0; i < 6; i++) {
  2690.        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrsm(case 1939) real");
  2691.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrsm(case 1939) imag");
  2692.      };
  2693.    };
  2694.   };
  2695.  
  2696.  
  2697.   {
  2698.    int order = 102;
  2699.    int side = 142;
  2700.    int uplo = 122;
  2701.    int trans = 113;
  2702.    int diag = 131;
  2703.    int M = 2;
  2704.    int N = 3;
  2705.    float alpha[2] = {-0.3f, 0.1f};
  2706.    float A[] = { 0.791f, 0.19f, -0.549f, 0.994f, -0.822f, 0.679f, -0.586f, 0.042f, -0.159f, -0.86f, 0.065f, 0.943f, -0.545f, 0.403f, 0.199f, 0.76f, 0.159f, 0.715f };
  2707.    int lda = 3;
  2708.    float B[] = { -0.336f, 0.317f, 0.502f, 0.543f, 0.027f, 0.802f, 0.391f, 0.716f, -0.154f, 0.436f, 0.738f, -0.029f };
  2709.    int ldb = 2;
  2710.    float B_expected[] = { 0.119543f, -0.133991f, -0.212552f, -0.193533f, -0.239565f, -0.0842153f, -0.531028f, 0.229828f, 0.61223f, 0.265016f, 0.850081f, -0.810046f };
  2711.    cblas_ctrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  2712.    {
  2713.      int i;
  2714.      for (i = 0; i < 6; i++) {
  2715.        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrsm(case 1940) real");
  2716.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrsm(case 1940) imag");
  2717.      };
  2718.    };
  2719.   };
  2720.  
  2721.  
  2722.   {
  2723.    int order = 102;
  2724.    int side = 142;
  2725.    int uplo = 122;
  2726.    int trans = 113;
  2727.    int diag = 132;
  2728.    int M = 2;
  2729.    int N = 3;
  2730.    float alpha[2] = {-0.3f, 0.1f};
  2731.    float A[] = { -0.182f, -0.821f, -0.756f, -0.479f, -0.191f, -0.989f, -0.466f, 0.018f, 0.85f, 0.516f, -0.826f, 0.209f, -0.321f, -0.988f, -0.936f, -0.745f, -0.57f, -0.362f };
  2732.    int lda = 3;
  2733.    float B[] = { -0.501f, 0.915f, -0.928f, 0.722f, -0.542f, -0.828f, -0.875f, -0.981f, 0.425f, 0.347f, -0.929f, -0.596f };
  2734.    int ldb = 2;
  2735.    float B_expected[] = { 0.0588f, -0.3246f, 0.2062f, -0.3094f, 0.134369f, -0.0793628f, 0.368285f, -0.125876f, -0.344423f, -0.219222f, 0.402199f, -0.204129f };
  2736.    cblas_ctrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  2737.    {
  2738.      int i;
  2739.      for (i = 0; i < 6; i++) {
  2740.        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrsm(case 1941) real");
  2741.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrsm(case 1941) imag");
  2742.      };
  2743.    };
  2744.   };
  2745.  
  2746.  
  2747.   {
  2748.    int order = 101;
  2749.    int side = 141;
  2750.    int uplo = 121;
  2751.    int trans = 111;
  2752.    int diag = 131;
  2753.    int M = 2;
  2754.    int N = 3;
  2755.    double alpha[2] = {0, 0};
  2756.    double A[] = { 0.976, -0.41, -0.313, -0.779, -0.164, 0.571, 0.056, -0.526 };
  2757.    int lda = 2;
  2758.    double B[] = { -0.177, 0.837, 0.391, -0.853, -0.633, 0.693, -0.392, -0.356, -0.708, 0.926, -0.093, -0.337 };
  2759.    int ldb = 3;
  2760.    double B_expected[] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };
  2761.    cblas_ztrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  2762.    {
  2763.      int i;
  2764.      for (i = 0; i < 6; i++) {
  2765.        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrsm(case 1942) real");
  2766.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrsm(case 1942) imag");
  2767.      };
  2768.    };
  2769.   };
  2770.  
  2771.  
  2772.   {
  2773.    int order = 101;
  2774.    int side = 141;
  2775.    int uplo = 121;
  2776.    int trans = 111;
  2777.    int diag = 132;
  2778.    int M = 2;
  2779.    int N = 3;
  2780.    double alpha[2] = {0, 0};
  2781.    double A[] = { -0.383, 0.141, 0.889, -0.007, -0.148, -0.068, 0.481, 0.675 };
  2782.    int lda = 2;
  2783.    double B[] = { 0.469, 0.735, -0.47, -0.164, 0.994, -0.483, -0.354, 0.357, 0.51, 0.523, 0.934, -0.592 };
  2784.    int ldb = 3;
  2785.    double B_expected[] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };
  2786.    cblas_ztrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  2787.    {
  2788.      int i;
  2789.      for (i = 0; i < 6; i++) {
  2790.        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrsm(case 1943) real");
  2791.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrsm(case 1943) imag");
  2792.      };
  2793.    };
  2794.   };
  2795.  
  2796.  
  2797.   {
  2798.    int order = 101;
  2799.    int side = 141;
  2800.    int uplo = 122;
  2801.    int trans = 111;
  2802.    int diag = 131;
  2803.    int M = 2;
  2804.    int N = 3;
  2805.    double alpha[2] = {0, 0};
  2806.    double A[] = { -0.089, -0.391, -0.317, -0.349, 0.618, -0.541, -0.84, 0.31 };
  2807.    int lda = 2;
  2808.    double B[] = { 0.931, -0.257, -0.048, 0.633, -0.32, -0.576, -0.682, 0.953, -0.412, 0.408, -0.809, 0.092 };
  2809.    int ldb = 3;
  2810.    double B_expected[] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };
  2811.    cblas_ztrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  2812.    {
  2813.      int i;
  2814.      for (i = 0; i < 6; i++) {
  2815.        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrsm(case 1944) real");
  2816.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrsm(case 1944) imag");
  2817.      };
  2818.    };
  2819.   };
  2820.  
  2821.  
  2822.   {
  2823.    int order = 101;
  2824.    int side = 141;
  2825.    int uplo = 122;
  2826.    int trans = 111;
  2827.    int diag = 132;
  2828.    int M = 2;
  2829.    int N = 3;
  2830.    double alpha[2] = {0, 0};
  2831.    double A[] = { 0.599, -0.01, -0.045, 0.567, 0.827, -0.969, -0.729, 0.538 };
  2832.    int lda = 2;
  2833.    double B[] = { 0.971, -0.626, -0.77, -0.882, 0.434, 0.269, -0.456, 0.497, 0.289, 0.957, 0.447, -0.921 };
  2834.    int ldb = 3;
  2835.    double B_expected[] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };
  2836.    cblas_ztrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  2837.    {
  2838.      int i;
  2839.      for (i = 0; i < 6; i++) {
  2840.        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrsm(case 1945) real");
  2841.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrsm(case 1945) imag");
  2842.      };
  2843.    };
  2844.   };
  2845.  
  2846.  
  2847.   {
  2848.    int order = 102;
  2849.    int side = 141;
  2850.    int uplo = 121;
  2851.    int trans = 111;
  2852.    int diag = 131;
  2853.    int M = 2;
  2854.    int N = 3;
  2855.    double alpha[2] = {0, 0};
  2856.    double A[] = { 0.441, -0.501, 0.607, -0.4, -0.976, -0.523, -0.136, -0.492 };
  2857.    int lda = 2;
  2858.    double B[] = { 0.639, 0.872, -0.436, 0.518, 0.164, -0.04, 0.489, 0.201, 0.723, -0.958, 0.934, -0.549 };
  2859.    int ldb = 2;
  2860.    double B_expected[] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };
  2861.    cblas_ztrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  2862.    {
  2863.      int i;
  2864.      for (i = 0; i < 6; i++) {
  2865.        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrsm(case 1946) real");
  2866.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrsm(case 1946) imag");
  2867.      };
  2868.    };
  2869.   };
  2870.  
  2871.  
  2872.   {
  2873.    int order = 102;
  2874.    int side = 141;
  2875.    int uplo = 121;
  2876.    int trans = 111;
  2877.    int diag = 132;
  2878.    int M = 2;
  2879.    int N = 3;
  2880.    double alpha[2] = {0, 0};
  2881.    double A[] = { -0.603, -0.475, 0.598, -0.666, -0.733, 0.04, 0.491, -0.592 };
  2882.    int lda = 2;
  2883.    double B[] = { 0.71, -0.827, 0.947, -0.364, 0.235, 0.294, 0.298, -0.401, -0.193, -0.008, 0.122, -0.47 };
  2884.    int ldb = 2;
  2885.    double B_expected[] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };
  2886.    cblas_ztrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  2887.    {
  2888.      int i;
  2889.      for (i = 0; i < 6; i++) {
  2890.        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrsm(case 1947) real");
  2891.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrsm(case 1947) imag");
  2892.      };
  2893.    };
  2894.   };
  2895.  
  2896.  
  2897.   {
  2898.    int order = 102;
  2899.    int side = 141;
  2900.    int uplo = 122;
  2901.    int trans = 111;
  2902.    int diag = 131;
  2903.    int M = 2;
  2904.    int N = 3;
  2905.    double alpha[2] = {0, 0};
  2906.    double A[] = { -0.73, -0.823, 0.636, -0.965, 0.886, -0.236, 0.501, -0.301 };
  2907.    int lda = 2;
  2908.    double B[] = { 0.259, 0.701, -0.033, 0.616, -0.646, -0.177, -0.886, 0.589, -0.736, -0.303, -0.995, 0.982 };
  2909.    int ldb = 2;
  2910.    double B_expected[] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };
  2911.    cblas_ztrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  2912.    {
  2913.      int i;
  2914.      for (i = 0; i < 6; i++) {
  2915.        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrsm(case 1948) real");
  2916.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrsm(case 1948) imag");
  2917.      };
  2918.    };
  2919.   };
  2920.  
  2921.  
  2922.   {
  2923.    int order = 102;
  2924.    int side = 141;
  2925.    int uplo = 122;
  2926.    int trans = 111;
  2927.    int diag = 132;
  2928.    int M = 2;
  2929.    int N = 3;
  2930.    double alpha[2] = {0, 0};
  2931.    double A[] = { 0.829, -0.889, 0.382, 0.083, 0.006, -0.76, -0.338, -0.601 };
  2932.    int lda = 2;
  2933.    double B[] = { 0.006, 0.381, 0.241, 0.096, -0.672, 0.664, 0.952, -0.376, -0.803, 0.344, -0.09, -0.175 };
  2934.    int ldb = 2;
  2935.    double B_expected[] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };
  2936.    cblas_ztrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  2937.    {
  2938.      int i;
  2939.      for (i = 0; i < 6; i++) {
  2940.        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrsm(case 1949) real");
  2941.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrsm(case 1949) imag");
  2942.      };
  2943.    };
  2944.   };
  2945.  
  2946.  
  2947.   {
  2948.    int order = 101;
  2949.    int side = 142;
  2950.    int uplo = 121;
  2951.    int trans = 111;
  2952.    int diag = 131;
  2953.    int M = 2;
  2954.    int N = 3;
  2955.    double alpha[2] = {0, 0};
  2956.    double A[] = { 0.879, -0.511, -0.814, -0.94, 0.91, 0.761, 0.223, 0.03, -0.689, -0.739, -0.814, 0.463, 0.389, 0.615, -0.175, 0.129, -0.904, 0.102 };
  2957.    int lda = 3;
  2958.    double B[] = { 0.383, 0.328, 0.589, -0.29, 0.912, 0.327, 0.629, 0.883, -0.578, -0.708, 0.168, -0.982 };
  2959.    int ldb = 3;
  2960.    double B_expected[] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };
  2961.    cblas_ztrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  2962.    {
  2963.      int i;
  2964.      for (i = 0; i < 6; i++) {
  2965.        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrsm(case 1950) real");
  2966.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrsm(case 1950) imag");
  2967.      };
  2968.    };
  2969.   };
  2970.  
  2971.  
  2972.   {
  2973.    int order = 101;
  2974.    int side = 142;
  2975.    int uplo = 121;
  2976.    int trans = 111;
  2977.    int diag = 132;
  2978.    int M = 2;
  2979.    int N = 3;
  2980.    double alpha[2] = {0, 0};
  2981.    double A[] = { -0.91, -0.182, 0.333, 0.193, 0.14, 0.538, 0.161, -0.034, -0.614, -0.154, 0.881, 0.842, 0.183, -0.229, 0.099, 0.062, -0.121, 0.179 };
  2982.    int lda = 3;
  2983.    double B[] = { -0.138, 0.109, -0.87, -0.161, 0.917, 0.443, 0.798, 0.677, -0.574, 0.327, -0.626, 0.446 };
  2984.    int ldb = 3;
  2985.    double B_expected[] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };
  2986.    cblas_ztrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  2987.    {
  2988.      int i;
  2989.      for (i = 0; i < 6; i++) {
  2990.        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrsm(case 1951) real");
  2991.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrsm(case 1951) imag");
  2992.      };
  2993.    };
  2994.   };
  2995.  
  2996.  
  2997.   {
  2998.    int order = 101;
  2999.    int side = 142;
  3000.    int uplo = 122;
  3001.    int trans = 111;
  3002.    int diag = 131;
  3003.    int M = 2;
  3004.    int N = 3;
  3005.    double alpha[2] = {0, 0};
  3006.    double A[] = { -0.491, -0.021, -0.833, 0.921, -0.71, 0.282, 0.638, 0.223, -0.434, 0.921, -0.949, 0.457, -0.665, -0.844, -0.633, -0.874, -0.73, 0.637 };
  3007.    int lda = 3;
  3008.    double B[] = { -0.047, 0.714, 0.678, 0.756, 0.003, 0.359, 0.507, -0.197, -0.726, 0.873, -0.118, -0.996 };
  3009.    int ldb = 3;
  3010.    double B_expected[] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };
  3011.    cblas_ztrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  3012.    {
  3013.      int i;
  3014.      for (i = 0; i < 6; i++) {
  3015.        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrsm(case 1952) real");
  3016.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrsm(case 1952) imag");
  3017.      };
  3018.    };
  3019.   };
  3020.  
  3021.  
  3022.   {
  3023.    int order = 101;
  3024.    int side = 142;
  3025.    int uplo = 122;
  3026.    int trans = 111;
  3027.    int diag = 132;
  3028.    int M = 2;
  3029.    int N = 3;
  3030.    double alpha[2] = {0, 0};
  3031.    double A[] = { 0.372, 0.354, -0.537, 0.948, -0.348, 0.808, 0.573, -0.797, 0.818, 0.701, -0.749, -0.801, -0.959, -0.781, 0.727, -0.189, 0.244, 0.414 };
  3032.    int lda = 3;
  3033.    double B[] = { 0.852, -0.714, 0.455, 0.171, -0.128, 0.554, 0.342, -0.203, 0.669, 0.619, -0.76, 0.759 };
  3034.    int ldb = 3;
  3035.    double B_expected[] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };
  3036.    cblas_ztrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  3037.    {
  3038.      int i;
  3039.      for (i = 0; i < 6; i++) {
  3040.        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrsm(case 1953) real");
  3041.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrsm(case 1953) imag");
  3042.      };
  3043.    };
  3044.   };
  3045.  
  3046.  
  3047.   {
  3048.    int order = 102;
  3049.    int side = 142;
  3050.    int uplo = 121;
  3051.    int trans = 111;
  3052.    int diag = 131;
  3053.    int M = 2;
  3054.    int N = 3;
  3055.    double alpha[2] = {0, 0};
  3056.    double A[] = { 0.1, -0.975, 0.885, -0.608, -0.303, 0.87, -0.763, 0.409, 0.501, 0.522, -0.176, 0.679, -0.681, -0.815, -0.878, 0.86, 0.348, -0.65 };
  3057.    int lda = 3;
  3058.    double B[] = { -0.245, 0.954, -0.465, -0.931, 0.327, 0.288, -0.067, 0.252, 0.124, -0.073, -0.731, 0.176 };
  3059.    int ldb = 2;
  3060.    double B_expected[] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };
  3061.    cblas_ztrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  3062.    {
  3063.      int i;
  3064.      for (i = 0; i < 6; i++) {
  3065.        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrsm(case 1954) real");
  3066.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrsm(case 1954) imag");
  3067.      };
  3068.    };
  3069.   };
  3070.  
  3071.  
  3072.   {
  3073.    int order = 102;
  3074.    int side = 142;
  3075.    int uplo = 121;
  3076.    int trans = 111;
  3077.    int diag = 132;
  3078.    int M = 2;
  3079.    int N = 3;
  3080.    double alpha[2] = {0, 0};
  3081.    double A[] = { 0.572, 0.045, -0.465, 0.113, 0.996, -0.597, 0.712, 0.945, 0.053, -0.436, 0.36, 0.035, -0.489, -0.012, 0.23, 0.22, 0.068, -0.586 };
  3082.    int lda = 3;
  3083.    double B[] = { -0.543, -0.809, -0.641, -0.744, 0.507, -0.742, -0.279, -0.835, -0.097, -0.968, 0.984, -0.813 };
  3084.    int ldb = 2;
  3085.    double B_expected[] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };
  3086.    cblas_ztrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  3087.    {
  3088.      int i;
  3089.      for (i = 0; i < 6; i++) {
  3090.        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrsm(case 1955) real");
  3091.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrsm(case 1955) imag");
  3092.      };
  3093.    };
  3094.   };
  3095.  
  3096.  
  3097.   {
  3098.    int order = 102;
  3099.    int side = 142;
  3100.    int uplo = 122;
  3101.    int trans = 111;
  3102.    int diag = 131;
  3103.    int M = 2;
  3104.    int N = 3;
  3105.    double alpha[2] = {0, 0};
  3106.    double A[] = { 0.837, 0.576, -0.396, 0.013, -0.567, 0.59, 0.513, 0.824, 0.045, 0.486, 0.386, 0.766, 0.222, 0.042, 0.091, -0.008, 0.43, 0.102 };
  3107.    int lda = 3;
  3108.    double B[] = { 0.16, -0.958, -0.125, 0.833, 0.344, 0.213, 0.2, -0.689, 0.81, 0.415, -0.198, 0.001 };
  3109.    int ldb = 2;
  3110.    double B_expected[] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };
  3111.    cblas_ztrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  3112.    {
  3113.      int i;
  3114.      for (i = 0; i < 6; i++) {
  3115.        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrsm(case 1956) real");
  3116.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrsm(case 1956) imag");
  3117.      };
  3118.    };
  3119.   };
  3120.  
  3121.  
  3122.   {
  3123.    int order = 102;
  3124.    int side = 142;
  3125.    int uplo = 122;
  3126.    int trans = 111;
  3127.    int diag = 132;
  3128.    int M = 2;
  3129.    int N = 3;
  3130.    double alpha[2] = {0, 0};
  3131.    double A[] = { -0.351, 0.7, -0.495, 0.448, -0.229, 0.925, -0.269, 0.251, -0.783, -0.223, 0.582, 0.373, -0.095, -0.383, -0.087, -0.043, -0.315, -0.999 };
  3132.    int lda = 3;
  3133.    double B[] = { -0.067, -0.104, 0.92, -0.333, 0.367, 0.995, 0.86, 0.425, 0.12, -0.756, 0.441, -0.214 };
  3134.    int ldb = 2;
  3135.    double B_expected[] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };
  3136.    cblas_ztrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  3137.    {
  3138.      int i;
  3139.      for (i = 0; i < 6; i++) {
  3140.        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrsm(case 1957) real");
  3141.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrsm(case 1957) imag");
  3142.      };
  3143.    };
  3144.   };
  3145.  
  3146.  
  3147.   {
  3148.    int order = 101;
  3149.    int side = 141;
  3150.    int uplo = 121;
  3151.    int trans = 112;
  3152.    int diag = 131;
  3153.    int M = 2;
  3154.    int N = 3;
  3155.    double alpha[2] = {-0.3, 0.1};
  3156.    double A[] = { 0.572, -0.073, 0.878, -0.688, -0.615, -0.213, -0.643, 0.809 };
  3157.    int lda = 2;
  3158.    double B[] = { -0.973, -0.481, 0.071, -0.71, -0.669, 0.717, -0.09, -0.304, -0.427, 0.625, 0.539, -0.565 };
  3159.    int ldb = 3;
  3160.    double B_expected[] = { 0.574560994608, 0.155494672389, 0.0371747871512, 0.389534544514, 0.283820482207, -0.45678514825, 0.591891359193, 0.214411302729, -0.27258111691, 0.507180331171, 0.645135319443, -0.46315922005 };
  3161.    cblas_ztrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  3162.    {
  3163.      int i;
  3164.      for (i = 0; i < 6; i++) {
  3165.        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrsm(case 1958) real");
  3166.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrsm(case 1958) imag");
  3167.      };
  3168.    };
  3169.   };
  3170.  
  3171.  
  3172.   {
  3173.    int order = 101;
  3174.    int side = 141;
  3175.    int uplo = 121;
  3176.    int trans = 112;
  3177.    int diag = 132;
  3178.    int M = 2;
  3179.    int N = 3;
  3180.    double alpha[2] = {-0.3, 0.1};
  3181.    double A[] = { -0.022, 0.475, 0.444, 0.252, -0.871, 0.867, -0.093, 0.264 };
  3182.    int lda = 2;
  3183.    double B[] = { 0.696, 0.259, 0.494, 0.162, -0.9, 0.143, 0.436, 0.487, -0.733, 0.138, -0.618, 0.572 };
  3184.    int ldb = 3;
  3185.    double B_expected[] = { -0.2347, -0.0081, -0.1644, 0.0008, 0.2557, -0.1329, -0.0773344, -0.0397592, 0.2792952, -0.0736264, -0.0188216, -0.2388288 };
  3186.    cblas_ztrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  3187.    {
  3188.      int i;
  3189.      for (i = 0; i < 6; i++) {
  3190.        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrsm(case 1959) real");
  3191.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrsm(case 1959) imag");
  3192.      };
  3193.    };
  3194.   };
  3195.  
  3196.  
  3197.   {
  3198.    int order = 101;
  3199.    int side = 141;
  3200.    int uplo = 122;
  3201.    int trans = 112;
  3202.    int diag = 131;
  3203.    int M = 2;
  3204.    int N = 3;
  3205.    double alpha[2] = {-0.3, 0.1};
  3206.    double A[] = { 0.918, -0.459, 0.547, 0.887, 0.4, -0.497, 0.49, -0.313 };
  3207.    int lda = 2;
  3208.    double B[] = { 0.028, 0.482, -0.59, -0.533, -0.594, 0.544, -0.717, -0.524, 0.07, -0.839, 0.538, -0.548 };
  3209.    int ldb = 3;
  3210.    double B_expected[] = { -0.258092239243, -0.278373561582, 0.128448307703, -0.0949352940165, 0.35005709854, -0.355276452021, 0.308556833073, 0.371588344391, -0.148348709879, 0.433197660833, -0.356526626221, 0.217565644883 };
  3211.    cblas_ztrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  3212.    {
  3213.      int i;
  3214.      for (i = 0; i < 6; i++) {
  3215.        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrsm(case 1960) real");
  3216.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrsm(case 1960) imag");
  3217.      };
  3218.    };
  3219.   };
  3220.  
  3221.  
  3222.   {
  3223.    int order = 101;
  3224.    int side = 141;
  3225.    int uplo = 122;
  3226.    int trans = 112;
  3227.    int diag = 132;
  3228.    int M = 2;
  3229.    int N = 3;
  3230.    double alpha[2] = {-0.3, 0.1};
  3231.    double A[] = { -0.86, -0.532, -0.396, -0.116, 0.766, -0.818, -0.335, 0.271 };
  3232.    int lda = 2;
  3233.    double B[] = { -0.029, -0.754, -0.566, -0.108, 0.904, -0.038, 0.07, -0.476, -0.48, 0.961, 0.864, -0.593 };
  3234.    int ldb = 3;
  3235.    double B_expected[] = { -0.058812, 0.130312, 0.419002, 0.272588, -0.330474, -0.264172, 0.0266, 0.1498, 0.0479, -0.3363, -0.1999, 0.2643 };
  3236.    cblas_ztrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  3237.    {
  3238.      int i;
  3239.      for (i = 0; i < 6; i++) {
  3240.        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrsm(case 1961) real");
  3241.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrsm(case 1961) imag");
  3242.      };
  3243.    };
  3244.   };
  3245.  
  3246.  
  3247.   {
  3248.    int order = 102;
  3249.    int side = 141;
  3250.    int uplo = 121;
  3251.    int trans = 112;
  3252.    int diag = 131;
  3253.    int M = 2;
  3254.    int N = 3;
  3255.    double alpha[2] = {-0.3, 0.1};
  3256.    double A[] = { -0.043, 0.25, -0.831, 0.609, -0.896, 0.886, 0.653, 0.065 };
  3257.    int lda = 2;
  3258.    double B[] = { 0.548, 0.076, 0.429, 0.873, -0.559, -0.329, -0.326, -0.174, 0.633, 0.489, 0.317, -0.896 };
  3259.    int ldb = 2;
  3260.    double B_expected[] = { 0.239257797324, 0.64684765886, 0.889006221152, 0.139062311692, 0.0322336011438, -0.807944179397, -0.977615509726, -1.02501063893, -0.164440783851, 0.983483814822, 1.28991055447, 1.90436729944 };
  3261.    cblas_ztrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  3262.    {
  3263.      int i;
  3264.      for (i = 0; i < 6; i++) {
  3265.        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrsm(case 1962) real");
  3266.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrsm(case 1962) imag");
  3267.      };
  3268.    };
  3269.   };
  3270.  
  3271.  
  3272.   {
  3273.    int order = 102;
  3274.    int side = 141;
  3275.    int uplo = 121;
  3276.    int trans = 112;
  3277.    int diag = 132;
  3278.    int M = 2;
  3279.    int N = 3;
  3280.    double alpha[2] = {-0.3, 0.1};
  3281.    double A[] = { -0.268, -0.062, -0.017, 0.326, 0.561, -0.203, -0.665, 0.338 };
  3282.    int lda = 2;
  3283.    double B[] = { -0.46, 0.954, 0.823, 0.945, -0.825, 0.882, -0.214, -0.095, -0.935, -0.245, 0.902, 0.904 };
  3284.    int ldb = 2;
  3285.    double B_expected[] = { 0.0426, -0.3322, -0.297862, -0.006188, 0.1593, -0.3471, 0.054794, 0.234161, 0.305, -0.02, -0.528045, -0.107865 };
  3286.    cblas_ztrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  3287.    {
  3288.      int i;
  3289.      for (i = 0; i < 6; i++) {
  3290.        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrsm(case 1963) real");
  3291.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrsm(case 1963) imag");
  3292.      };
  3293.    };
  3294.   };
  3295.  
  3296.  
  3297.   {
  3298.    int order = 102;
  3299.    int side = 141;
  3300.    int uplo = 122;
  3301.    int trans = 112;
  3302.    int diag = 131;
  3303.    int M = 2;
  3304.    int N = 3;
  3305.    double alpha[2] = {-0.3, 0.1};
  3306.    double A[] = { -0.075, 0.178, -0.321, -0.056, -0.124, -0.483, 0.685, -0.052 };
  3307.    int lda = 2;
  3308.    double B[] = { -0.47, -0.363, 0.766, -0.961, -0.391, -0.691, 0.42, -0.339, 0.45, -0.975, 0.991, -0.198 };
  3309.    int ldb = 2;
  3310.    double B_expected[] = { 0.874038948948, -0.779868445448, -0.234271045009, 0.514916650598, 0.810533012472, -1.05664738101, -0.149515922946, 0.198430908039, 2.17245126703, 0.115946317124, -0.420252834642, 0.199484456348 };
  3311.    cblas_ztrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  3312.    {
  3313.      int i;
  3314.      for (i = 0; i < 6; i++) {
  3315.        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrsm(case 1964) real");
  3316.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrsm(case 1964) imag");
  3317.      };
  3318.    };
  3319.   };
  3320.  
  3321.  
  3322.   {
  3323.    int order = 102;
  3324.    int side = 141;
  3325.    int uplo = 122;
  3326.    int trans = 112;
  3327.    int diag = 132;
  3328.    int M = 2;
  3329.    int N = 3;
  3330.    double alpha[2] = {-0.3, 0.1};
  3331.    double A[] = { -0.206, -0.461, -0.681, 0.358, 0.21, -0.318, 0.082, -0.097 };
  3332.    int lda = 2;
  3333.    double B[] = { 0.576, -0.249, 0.718, 0.424, 0.728, -0.464, 0.774, 0.541, -0.112, 0.803, 0.275, -0.638 };
  3334.    int ldb = 2;
  3335.    double B_expected[] = { -0.343295, 0.186865, -0.2578, -0.0554, -0.3973645, 0.2566785, -0.2863, -0.0849, 0.0189315, -0.0963345, -0.0187, 0.2189 };
  3336.    cblas_ztrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  3337.    {
  3338.      int i;
  3339.      for (i = 0; i < 6; i++) {
  3340.        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrsm(case 1965) real");
  3341.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrsm(case 1965) imag");
  3342.      };
  3343.    };
  3344.   };
  3345.  
  3346.  
  3347.   {
  3348.    int order = 101;
  3349.    int side = 142;
  3350.    int uplo = 121;
  3351.    int trans = 112;
  3352.    int diag = 131;
  3353.    int M = 2;
  3354.    int N = 3;
  3355.    double alpha[2] = {-0.3, 0.1};
  3356.    double A[] = { -0.117, 0.983, -0.929, -0.69, -0.144, 0.28, 0.658, 0.304, -0.657, 0.543, -0.051, -0.98, -0.846, -0.484, 0.052, 0.691, 0.613, -0.178 };
  3357.    int lda = 3;
  3358.    double B[] = { -0.688, 0.453, -0.63, 0.067, 0.193, 0.359, -0.792, 0.307, -0.501, -0.616, -0.595, 0.817 };
  3359.    int ldb = 3;
  3360.    double B_expected[] = { -0.566587593051, 0.340892661842, -0.458137993587, -0.0857620879204, -0.102500656517, -0.173972458173, -1.32599192297, -0.284341349955, -0.284178293736, -0.823318590512, 0.278700120014, -0.415972885216 };
  3361.    cblas_ztrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  3362.    {
  3363.      int i;
  3364.      for (i = 0; i < 6; i++) {
  3365.        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrsm(case 1966) real");
  3366.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrsm(case 1966) imag");
  3367.      };
  3368.    };
  3369.   };
  3370.  
  3371.  
  3372.   {
  3373.    int order = 101;
  3374.    int side = 142;
  3375.    int uplo = 121;
  3376.    int trans = 112;
  3377.    int diag = 132;
  3378.    int M = 2;
  3379.    int N = 3;
  3380.    double alpha[2] = {-0.3, 0.1};
  3381.    double A[] = { 0.773, -0.614, 0.782, -0.728, -0.727, -0.715, 0.858, -0.065, 0.922, 0.178, 0.588, 0.215, -0.92, -0.443, -0.583, -0.244, 0.996, -0.539 };
  3382.    int lda = 3;
  3383.    double B[] = { 0.159, 0.669, -0.692, 0.808, -0.146, 0.489, -0.385, -0.646, 0.704, -0.968, 0.551, -0.281 };
  3384.    int ldb = 3;
  3385.    double B_expected[] = { 0.0796383322, -0.0678193334, 0.0951193, -0.2156591, -0.0051, -0.1613, -0.2408434996, -0.0853028168, -0.0037554, 0.3083308, -0.1372, 0.1394 };
  3386.    cblas_ztrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  3387.    {
  3388.      int i;
  3389.      for (i = 0; i < 6; i++) {
  3390.        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrsm(case 1967) real");
  3391.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrsm(case 1967) imag");
  3392.      };
  3393.    };
  3394.   };
  3395.  
  3396.  
  3397.   {
  3398.    int order = 101;
  3399.    int side = 142;
  3400.    int uplo = 122;
  3401.    int trans = 112;
  3402.    int diag = 131;
  3403.    int M = 2;
  3404.    int N = 3;
  3405.    double alpha[2] = {-0.3, 0.1};
  3406.    double A[] = { -0.864, -0.382, -0.715, 0.227, -0.973, -0.709, -0.247, -0.601, 0.467, -0.133, 0.988, 0.937, -0.272, -0.334, 0.719, 0.992, 0.203, -0.646 };
  3407.    int lda = 3;
  3408.    double B[] = { 0.285, -0.409, -0.347, -0.925, -0.616, 0.422, 0.631, -0.954, -0.053, -0.255, -0.749, -0.979 };
  3409.    int ldb = 3;
  3410.    double B_expected[] = { -0.0215414266825, -0.165475896999, 0.469240391843, 0.538308411392, 1.71185240759, 0.063655952267, -0.0586080545035, -0.378370049976, 0.536158413721, 0.02961076215, 0.67769157898, -0.0939027988826 };
  3411.    cblas_ztrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  3412.    {
  3413.      int i;
  3414.      for (i = 0; i < 6; i++) {
  3415.        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrsm(case 1968) real");
  3416.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrsm(case 1968) imag");
  3417.      };
  3418.    };
  3419.   };
  3420.  
  3421.  
  3422.   {
  3423.    int order = 101;
  3424.    int side = 142;
  3425.    int uplo = 122;
  3426.    int trans = 112;
  3427.    int diag = 132;
  3428.    int M = 2;
  3429.    int N = 3;
  3430.    double alpha[2] = {-0.3, 0.1};
  3431.    double A[] = { -0.373, -0.335, -0.106, 0.542, -0.504, 0.574, -0.318, 0.043, -0.801, -0.331, 0.699, 0.776, -0.56, 0.131, 0.742, -0.692, -0.614, -0.874 };
  3432.    int lda = 3;
  3433.    double B[] = { -0.823, 0.929, -0.55, 0.172, -0.44, 0.067, 0.99, -0.013, 0.513, -0.438, -0.591, -0.302 };
  3434.    int ldb = 3;
  3435.    double B_expected[] = { 0.154, -0.361, 0.181249, -0.22802, 0.187552082, 0.008181148, -0.2957, 0.1029, -0.1997079, 0.2281373, 0.0457001502, -0.1796150434 };
  3436.    cblas_ztrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  3437.    {
  3438.      int i;
  3439.      for (i = 0; i < 6; i++) {
  3440.        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrsm(case 1969) real");
  3441.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrsm(case 1969) imag");
  3442.      };
  3443.    };
  3444.   };
  3445.  
  3446.  
  3447.   {
  3448.    int order = 102;
  3449.    int side = 142;
  3450.    int uplo = 121;
  3451.    int trans = 112;
  3452.    int diag = 131;
  3453.    int M = 2;
  3454.    int N = 3;
  3455.    double alpha[2] = {-0.3, 0.1};
  3456.    double A[] = { -0.912, 0.523, 0.314, -0.205, -0.895, 0.033, 0.157, -0.936, -0.582, 0.104, -0.868, 0.851, -0.131, 0.836, 0.993, 0.319, -0.684, -0.035 };
  3457.    int lda = 3;
  3458.    double B[] = { 0.07, -0.556, 0.018, -0.245, -0.405, 0.77, 0.888, 0.01, -0.81, -0.42, 0.66, -0.387 };
  3459.    int ldb = 2;
  3460.    double B_expected[] = { -0.132542904863, 0.151203976135, 0.45996395874, -0.700981460432, -0.771115355304, 0.0234040392321, 1.04091400336, -0.314874142966, -0.418936175202, -0.0443526810935, 0.218699329114, -0.27741882532 };
  3461.    cblas_ztrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  3462.    {
  3463.      int i;
  3464.      for (i = 0; i < 6; i++) {
  3465.        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrsm(case 1970) real");
  3466.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrsm(case 1970) imag");
  3467.      };
  3468.    };
  3469.   };
  3470.  
  3471.  
  3472.   {
  3473.    int order = 102;
  3474.    int side = 142;
  3475.    int uplo = 121;
  3476.    int trans = 112;
  3477.    int diag = 132;
  3478.    int M = 2;
  3479.    int N = 3;
  3480.    double alpha[2] = {-0.3, 0.1};
  3481.    double A[] = { -0.904, 0.983, -0.777, 0.503, 0.061, -0.442, 0.797, 0.415, -0.49, -0.466, 0.386, -0.147, -0.793, -0.381, -0.481, 0.33, 0.69, 0.35 };
  3482.    int lda = 3;
  3483.    double B[] = { 0.152, 0.832, 0.687, -0.287, -0.571, -0.187, -0.456, 0.631, 0.976, 0.833, -0.527, -0.188 };
  3484.    int ldb = 2;
  3485.    double B_expected[] = { -0.3155234788, -0.5211211034, -0.2870272698, 0.3910522396, -0.0411631, 0.0498567, 0.1600099, -0.2914973, -0.3761, -0.1523, 0.1769, 0.0037 };
  3486.    cblas_ztrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  3487.    {
  3488.      int i;
  3489.      for (i = 0; i < 6; i++) {
  3490.        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrsm(case 1971) real");
  3491.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrsm(case 1971) imag");
  3492.      };
  3493.    };
  3494.   };
  3495.  
  3496.  
  3497.   {
  3498.    int order = 102;
  3499.    int side = 142;
  3500.    int uplo = 122;
  3501.    int trans = 112;
  3502.    int diag = 131;
  3503.    int M = 2;
  3504.    int N = 3;
  3505.    double alpha[2] = {-0.3, 0.1};
  3506.    double A[] = { 0.527, 0.434, 0.025, 0.505, 0.724, 0.961, -0.071, 0.675, -0.334, 0.259, 0.167, 0.898, 0.116, 0.723, 0.086, 0.042, -0.483, -0.862 };
  3507.    int lda = 3;
  3508.    double B[] = { -0.874, 0.252, 0.924, 0.251, 0.559, -0.619, -0.131, -0.286, 0.09, -0.111, 0.062, -0.973 };
  3509.    int ldb = 2;
  3510.    double B_expected[] = { 0.116195543731, -0.404988360492, -0.325886265381, 0.300824742268, 0.86553022636, 0.0931927221532, -0.0931167995431, -0.760087414797, 0.774460770553, -0.204189465459, -0.501996021978, -0.354684266966 };
  3511.    cblas_ztrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  3512.    {
  3513.      int i;
  3514.      for (i = 0; i < 6; i++) {
  3515.        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrsm(case 1972) real");
  3516.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrsm(case 1972) imag");
  3517.      };
  3518.    };
  3519.   };
  3520.  
  3521.  
  3522.   {
  3523.    int order = 102;
  3524.    int side = 142;
  3525.    int uplo = 122;
  3526.    int trans = 112;
  3527.    int diag = 132;
  3528.    int M = 2;
  3529.    int N = 3;
  3530.    double alpha[2] = {-0.3, 0.1};
  3531.    double A[] = { 0.383, -0.184, 0.14, 0.131, -0.494, -0.025, -0.396, -0.183, 0.519, 0.806, -0.737, 0.764, -0.03, 0.622, -0.826, 0.605, 0.638, 0.935 };
  3532.    int lda = 3;
  3533.    double B[] = { 0.975, -0.816, -0.996, -0.038, -0.316, -0.31, -0.003, -0.974, 0.364, -0.217, 0.909, -0.656 };
  3534.    int ldb = 2;
  3535.    double B_expected[] = { -0.2109, 0.3423, 0.3026, -0.0882, 0.2001673, 0.0411059, 0.0443818, 0.2646074, -0.0213138923, 0.1426909311, 0.1794588402, 0.4128021586 };
  3536.    cblas_ztrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  3537.    {
  3538.      int i;
  3539.      for (i = 0; i < 6; i++) {
  3540.        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrsm(case 1973) real");
  3541.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrsm(case 1973) imag");
  3542.      };
  3543.    };
  3544.   };
  3545.  
  3546.  
  3547.   {
  3548.    int order = 101;
  3549.    int side = 141;
  3550.    int uplo = 121;
  3551.    int trans = 113;
  3552.    int diag = 131;
  3553.    int M = 2;
  3554.    int N = 3;
  3555.    double alpha[2] = {-0.3, 0.1};
  3556.    double A[] = { -0.433, -0.405, -0.008, 0.13, 0.377, -0.664, 0.421, -0.779 };
  3557.    int lda = 2;
  3558.    double B[] = { 0.022, -0.326, -0.905, 0.323, -0.722, 0.282, -0.877, -0.793, -0.906, -0.999, -0.607, -0.979 };
  3559.    int ldb = 3;
  3560.    double B_expected[] = { 0.0831887207906, -0.153137570623, -0.510564586332, -0.0447544052299, -0.412732352054, -0.0239182507667, 0.35364638809, -0.274824473121, 0.341954849059, -0.294570686181, 0.328230337479, -0.181800438645 };
  3561.    cblas_ztrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  3562.    {
  3563.      int i;
  3564.      for (i = 0; i < 6; i++) {
  3565.        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrsm(case 1974) real");
  3566.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrsm(case 1974) imag");
  3567.      };
  3568.    };
  3569.   };
  3570.  
  3571.  
  3572.   {
  3573.    int order = 101;
  3574.    int side = 141;
  3575.    int uplo = 121;
  3576.    int trans = 113;
  3577.    int diag = 132;
  3578.    int M = 2;
  3579.    int N = 3;
  3580.    double alpha[2] = {-0.3, 0.1};
  3581.    double A[] = { 0.007, 0.289, 0.434, 0.931, 0.776, -0.861, 0.83, -0.753 };
  3582.    int lda = 2;
  3583.    double B[] = { 0.775, -0.299, -0.45, 0.923, 0.251, 0.934, 0.388, -0.958, -0.732, 0.263, -0.5, 0.097 };
  3584.    int ldb = 3;
  3585.    double B_expected[] = { -0.2026, 0.1672, 0.0427, -0.3219, -0.1687, -0.2551, -0.0883348, 0.0650146, 0.4744571, 0.0273583, 0.4510139, -0.1254463 };
  3586.    cblas_ztrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  3587.    {
  3588.      int i;
  3589.      for (i = 0; i < 6; i++) {
  3590.        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrsm(case 1975) real");
  3591.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrsm(case 1975) imag");
  3592.      };
  3593.    };
  3594.   };
  3595.  
  3596.  
  3597.   {
  3598.    int order = 101;
  3599.    int side = 141;
  3600.    int uplo = 122;
  3601.    int trans = 113;
  3602.    int diag = 131;
  3603.    int M = 2;
  3604.    int N = 3;
  3605.    double alpha[2] = {-0.3, 0.1};
  3606.    double A[] = { -0.768, -0.738, 0.236, 0.721, 0.691, -0.963, -0.36, -0.376 };
  3607.    int lda = 2;
  3608.    double B[] = { -0.822, 0.174, 0.799, 0.8, -0.985, -0.169, 0.652, -0.529, -0.51, -0.506, -0.542, -0.786 };
  3609.    int ldb = 3;
  3610.    double B_expected[] = { -0.212429545832, 0.508667487335, 0.591670151369, 0.238559438419, 0.40264717438, -0.154881488703, 0.500259801606, -0.0994508738781, -0.130621162022, -0.416426547, -0.0684577231932, -0.575944733113 };
  3611.    cblas_ztrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  3612.    {
  3613.      int i;
  3614.      for (i = 0; i < 6; i++) {
  3615.        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrsm(case 1976) real");
  3616.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrsm(case 1976) imag");
  3617.      };
  3618.    };
  3619.   };
  3620.  
  3621.  
  3622.   {
  3623.    int order = 101;
  3624.    int side = 141;
  3625.    int uplo = 122;
  3626.    int trans = 113;
  3627.    int diag = 132;
  3628.    int M = 2;
  3629.    int N = 3;
  3630.    double alpha[2] = {-0.3, 0.1};
  3631.    double A[] = { -0.294, 0.843, 0.52, 0.53, 0.392, 0.293, 0.209, 0.497 };
  3632.    int lda = 2;
  3633.    double B[] = { 0.765, -0.547, 0.451, -0.581, 0.166, 0.834, -0.541, 0.278, -0.832, 0.66, -0.718, -0.664 };
  3634.    int ldb = 3;
  3635.    double B_expected[] = { -0.1872365, 0.3339085, -0.0667796, 0.3834252, -0.2809938, -0.2009734, 0.1345, -0.1375, 0.1836, -0.2812, 0.2818, 0.1274 };
  3636.    cblas_ztrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  3637.    {
  3638.      int i;
  3639.      for (i = 0; i < 6; i++) {
  3640.        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrsm(case 1977) real");
  3641.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrsm(case 1977) imag");
  3642.      };
  3643.    };
  3644.   };
  3645.  
  3646.  
  3647.   {
  3648.    int order = 102;
  3649.    int side = 141;
  3650.    int uplo = 121;
  3651.    int trans = 113;
  3652.    int diag = 131;
  3653.    int M = 2;
  3654.    int N = 3;
  3655.    double alpha[2] = {-0.3, 0.1};
  3656.    double A[] = { 0.642, 0.513, 0.428, 0.273, -0.612, 0.531, -0.664, 0.801 };
  3657.    int lda = 2;
  3658.    double B[] = { 0.429, -0.049, -0.661, 0.36, -0.247, 0.523, -0.227, 0.459, -0.902, 0.328, 0.37, -0.225 };
  3659.    int ldb = 2;
  3660.    double B_expected[] = { -0.161443909893, -0.0392846195877, 0.158306491417, 0.236544282705, 0.158671944063, -0.1560767799, 0.00300493937503, 0.254905467713, 0.369328020399, 0.00134777953987, -0.306971508873, -0.0836654236493 };
  3661.    cblas_ztrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  3662.    {
  3663.      int i;
  3664.      for (i = 0; i < 6; i++) {
  3665.        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrsm(case 1978) real");
  3666.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrsm(case 1978) imag");
  3667.      };
  3668.    };
  3669.   };
  3670.  
  3671.  
  3672.   {
  3673.    int order = 102;
  3674.    int side = 141;
  3675.    int uplo = 121;
  3676.    int trans = 113;
  3677.    int diag = 132;
  3678.    int M = 2;
  3679.    int N = 3;
  3680.    double alpha[2] = {-0.3, 0.1};
  3681.    double A[] = { 0.229, -0.461, -0.279, 0.674, -0.797, -0.286, 0.397, 0.329 };
  3682.    int lda = 2;
  3683.    double B[] = { 0.402, 0.728, 0.824, -0.691, -0.362, 0.437, 0.192, 0.788, -0.259, 0.599, 0.79, 0.076 };
  3684.    int ldb = 2;
  3685.    double B_expected[] = { -0.1934, -0.1782, -0.383205, 0.202987, 0.0649, -0.1673, -0.1325225, -0.3690995, 0.0178, -0.2056, -0.289215, -0.112754 };
  3686.    cblas_ztrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  3687.    {
  3688.      int i;
  3689.      for (i = 0; i < 6; i++) {
  3690.        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrsm(case 1979) real");
  3691.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrsm(case 1979) imag");
  3692.      };
  3693.    };
  3694.   };
  3695.  
  3696.  
  3697.   {
  3698.    int order = 102;
  3699.    int side = 141;
  3700.    int uplo = 122;
  3701.    int trans = 113;
  3702.    int diag = 131;
  3703.    int M = 2;
  3704.    int N = 3;
  3705.    double alpha[2] = {-0.3, 0.1};
  3706.    double A[] = { -0.942, -0.832, 0.595, -0.092, 0.01, 0.001, 0.944, 0.256 };
  3707.    int lda = 2;
  3708.    double B[] = { 0.73, 0.488, -0.363, -0.01, -0.112, 0.169, -0.268, -0.13, -0.657, 0.573, 0.91, 0.632 };
  3709.    int ldb = 2;
  3710.    double B_expected[] = { 0.158268746344, 0.226988691038, 0.117355164571, -0.00345029435376, -0.0289643723553, 0.0722018494696, 0.0888981803586, 0.0370317099277, -0.233113998714, -0.101765761072, -0.305361921327, -0.187259165106 };
  3711.    cblas_ztrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  3712.    {
  3713.      int i;
  3714.      for (i = 0; i < 6; i++) {
  3715.        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrsm(case 1980) real");
  3716.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrsm(case 1980) imag");
  3717.      };
  3718.    };
  3719.   };
  3720.  
  3721.  
  3722.   {
  3723.    int order = 102;
  3724.    int side = 141;
  3725.    int uplo = 122;
  3726.    int trans = 113;
  3727.    int diag = 132;
  3728.    int M = 2;
  3729.    int N = 3;
  3730.    double alpha[2] = {-0.3, 0.1};
  3731.    double A[] = { -0.508, 0.053, -0.516, 0.785, -0.451, -0.53, 0.551, 0.235 };
  3732.    int lda = 2;
  3733.    double B[] = { -0.09, 0.46, 0.948, 0.918, -0.337, 0.012, -0.786, -0.676, 0.906, -0.38, -0.566, 0.645 };
  3734.    int ldb = 2;
  3735.    double B_expected[] = { -0.0713482, -0.5355066, -0.3762, -0.1806, 0.1589574, 0.2649562, 0.3034, 0.1242, 0.0168633, 0.1582089, 0.1053, -0.2501 };
  3736.    cblas_ztrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  3737.    {
  3738.      int i;
  3739.      for (i = 0; i < 6; i++) {
  3740.        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrsm(case 1981) real");
  3741.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrsm(case 1981) imag");
  3742.      };
  3743.    };
  3744.   };
  3745.  
  3746.  
  3747.   {
  3748.    int order = 101;
  3749.    int side = 142;
  3750.    int uplo = 121;
  3751.    int trans = 113;
  3752.    int diag = 131;
  3753.    int M = 2;
  3754.    int N = 3;
  3755.    double alpha[2] = {-0.3, 0.1};
  3756.    double A[] = { 0.499, -0.268, 0.234, 0.032, -0.158, 0.684, -0.878, 0.613, 0.968, 0.812, 0.013, 0.34, -0.485, -0.565, 0.316, 0.286, -0.459, 0.637 };
  3757.    int lda = 3;
  3758.    double B[] = { -0.964, 0.804, 0.197, 0.141, 0.942, 0.474, 0.741, -0.441, -0.738, -0.703, -0.27, 0.98 };
  3759.    int ldb = 3;
  3760.    double B_expected[] = { 0.561582612433, -0.70128258354, -0.0253749021391, 0.0631927226609, 0.295313488523, -0.305260767297, -0.0937671252683, 0.884164549696, 0.000683977216651, 0.260184505619, 0.344358828778, 0.221445372699 };
  3761.    cblas_ztrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  3762.    {
  3763.      int i;
  3764.      for (i = 0; i < 6; i++) {
  3765.        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrsm(case 1982) real");
  3766.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrsm(case 1982) imag");
  3767.      };
  3768.    };
  3769.   };
  3770.  
  3771.  
  3772.   {
  3773.    int order = 101;
  3774.    int side = 142;
  3775.    int uplo = 121;
  3776.    int trans = 113;
  3777.    int diag = 132;
  3778.    int M = 2;
  3779.    int N = 3;
  3780.    double alpha[2] = {-0.3, 0.1};
  3781.    double A[] = { -0.453, 0.917, 0.131, 0.361, 0.087, 0.441, -0.439, 0.439, 0.777, 0.131, 0.535, 0.646, 0.508, 0.746, -0.347, -0.911, -0.874, -0.525 };
  3782.    int lda = 3;
  3783.    double B[] = { -0.739, -0.776, -0.049, 0.548, -0.39, -0.856, -0.757, 0.307, -0.533, -0.342, 0.431, 0.618 };
  3784.    int ldb = 3;
  3785.    double B_expected[] = { 0.2794424312, 0.1451980676, -0.2891898, -0.1549434, 0.2026, 0.2178, 0.2242026328, -0.0997909546, 0.3882643, 0.0019799, -0.1911, -0.1423 };
  3786.    cblas_ztrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  3787.    {
  3788.      int i;
  3789.      for (i = 0; i < 6; i++) {
  3790.        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrsm(case 1983) real");
  3791.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrsm(case 1983) imag");
  3792.      };
  3793.    };
  3794.   };
  3795.  
  3796.  
  3797.   {
  3798.    int order = 101;
  3799.    int side = 142;
  3800.    int uplo = 122;
  3801.    int trans = 113;
  3802.    int diag = 131;
  3803.    int M = 2;
  3804.    int N = 3;
  3805.    double alpha[2] = {-0.3, 0.1};
  3806.    double A[] = { -0.835, -0.775, -0.384, -0.128, -0.41, -0.511, -0.282, -0.341, -0.856, -0.662, 0.721, -0.939, 0.175, -0.899, 0.832, -0.519, 0.652, -0.318 };
  3807.    int lda = 3;
  3808.    double B[] = { -0.654, 0.105, -0.39, 0.645, 0.867, 0.045, -0.842, -0.896, -0.249, 0.419, 0.575, 0.561 };
  3809.    int ldb = 3;
  3810.    double B_expected[] = { -0.177337134492, -0.0485464421929, -0.0947130836909, 0.143712701441, -0.0502556531648, 0.286334558029, -0.109929498786, -0.323108217437, -0.0362323282558, 0.21056630482, -0.514117706819, 0.0792536824901 };
  3811.    cblas_ztrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  3812.    {
  3813.      int i;
  3814.      for (i = 0; i < 6; i++) {
  3815.        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrsm(case 1984) real");
  3816.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrsm(case 1984) imag");
  3817.      };
  3818.    };
  3819.   };
  3820.  
  3821.  
  3822.   {
  3823.    int order = 101;
  3824.    int side = 142;
  3825.    int uplo = 122;
  3826.    int trans = 113;
  3827.    int diag = 132;
  3828.    int M = 2;
  3829.    int N = 3;
  3830.    double alpha[2] = {-0.3, 0.1};
  3831.    double A[] = { -0.136, 0.272, 0.676, 0.673, -0.659, 0.668, 0.991, -0.569, -0.489, 0.581, -0.232, -0.249, -0.396, -0.832, 0.763, -0.092, 0.117, 0.108 };
  3832.    int lda = 3;
  3833.    double B[] = { 0.721, -0.141, -0.604, 0.318, 0.387, 0.73, -0.549, 0.302, 0.101, 0.721, -0.064, 0.673 };
  3834.    int ldb = 3;
  3835.    double B_expected[] = { -0.2022, 0.1144, 0.4148738, -0.1541186, -0.5047180206, 0.1126569022, 0.1345, -0.1455, -0.318479, -0.13854, 0.114359797, -0.242815912 };
  3836.    cblas_ztrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  3837.    {
  3838.      int i;
  3839.      for (i = 0; i < 6; i++) {
  3840.        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrsm(case 1985) real");
  3841.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrsm(case 1985) imag");
  3842.      };
  3843.    };
  3844.   };
  3845.  
  3846.  
  3847.   {
  3848.    int order = 102;
  3849.    int side = 142;
  3850.    int uplo = 121;
  3851.    int trans = 113;
  3852.    int diag = 131;
  3853.    int M = 2;
  3854.    int N = 3;
  3855.    double alpha[2] = {-0.3, 0.1};
  3856.    double A[] = { -0.578, 0.601, -0.43, -0.187, -0.934, 0.635, 0.157, -0.561, -0.964, 0.025, 0.435, -0.674, -0.575, 0.275, 0.609, 0.228, -0.202, -0.267 };
  3857.    int lda = 3;
  3858.    double B[] = { 0.505, -0.347, 0.213, -0.392, -0.465, -0.918, -0.737, -0.974, -0.051, 0.97, 0.066, 0.604 };
  3859.    int ldb = 2;
  3860.    double B_expected[] = { -0.206165616299, -0.811510964363, -0.328765954464, -0.593889594613, -0.410790365608, 0.365230809488, -0.377900693873, 0.166778025696, -0.558066070138, 0.728199798382, -0.271362172482, 0.505674752215 };
  3861.    cblas_ztrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  3862.    {
  3863.      int i;
  3864.      for (i = 0; i < 6; i++) {
  3865.        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrsm(case 1986) real");
  3866.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrsm(case 1986) imag");
  3867.      };
  3868.    };
  3869.   };
  3870.  
  3871.  
  3872.   {
  3873.    int order = 102;
  3874.    int side = 142;
  3875.    int uplo = 121;
  3876.    int trans = 113;
  3877.    int diag = 132;
  3878.    int M = 2;
  3879.    int N = 3;
  3880.    double alpha[2] = {-0.3, 0.1};
  3881.    double A[] = { -0.311, -0.737, -0.738, -0.214, -0.387, -0.043, -0.168, 0.563, 0.165, 0.007, -0.121, 0.408, -0.75, -0.641, -0.997, -0.347, 0.523, -0.922 };
  3882.    int lda = 3;
  3883.    double B[] = { 0.46, 0.376, -0.623, -0.092, 0.233, 0.981, -0.435, -0.493, 0.405, 0.855, -0.391, 0.572 };
  3884.    int ldb = 2;
  3885.    double B_expected[] = { -0.311417159, -0.418726217, 0.2053384662, -0.1587052684, -0.449331, -0.414523, 0.1666068, -0.1265226, -0.207, -0.216, 0.0601, -0.2107 };
  3886.    cblas_ztrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  3887.    {
  3888.      int i;
  3889.      for (i = 0; i < 6; i++) {
  3890.        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrsm(case 1987) real");
  3891.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrsm(case 1987) imag");
  3892.      };
  3893.    };
  3894.   };
  3895.  
  3896.  
  3897.   {
  3898.    int order = 102;
  3899.    int side = 142;
  3900.    int uplo = 122;
  3901.    int trans = 113;
  3902.    int diag = 131;
  3903.    int M = 2;
  3904.    int N = 3;
  3905.    double alpha[2] = {-0.3, 0.1};
  3906.    double A[] = { -0.288, -0.421, 0.451, 0.234, 0.67, -0.483, 0.273, 0.131, 0.005, 0.091, -0.706, -0.191, 0.285, -0.434, 0.648, -0.556, -0.886, 0.798 };
  3907.    int lda = 3;
  3908.    double B[] = { 0.359, -0.682, -0.618, 0.479, 0.463, 0.468, -0.43, 0.058, -0.361, -0.058, -0.028, -0.729 };
  3909.    int ldb = 2;
  3910.    double B_expected[] = { 0.432870841901, -0.202296442916, -0.484714722217, 0.00498299287046, -1.27917612947, -3.59551100448, 2.13407463306, 3.62604336509, 2.50059207751, 0.44116664838, -3.08374361183, -0.156015309482 };
  3911.    cblas_ztrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  3912.    {
  3913.      int i;
  3914.      for (i = 0; i < 6; i++) {
  3915.        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrsm(case 1988) real");
  3916.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrsm(case 1988) imag");
  3917.      };
  3918.    };
  3919.   };
  3920.  
  3921.  
  3922.   {
  3923.    int order = 102;
  3924.    int side = 142;
  3925.    int uplo = 122;
  3926.    int trans = 113;
  3927.    int diag = 132;
  3928.    int M = 2;
  3929.    int N = 3;
  3930.    double alpha[2] = {-0.3, 0.1};
  3931.    double A[] = { 0.288, 0.961, -0.571, -0.341, -0.443, 0.116, -0.928, 0.157, 0.035, 0.822, 0.733, -0.15, 0.851, -0.634, -0.769, -0.709, 0.346, -0.943 };
  3932.    int lda = 3;
  3933.    double B[] = { -0.708, 0.945, -0.144, 0.505, 0.827, -0.467, 0.883, 0.194, -0.607, -0.332, 0.716, -0.117 };
  3934.    int ldb = 2;
  3935.    double B_expected[] = { 0.1179, -0.3543, -0.0073, -0.1659, -0.2548954, -0.0197092, -0.3450402, -0.0621396, 0.4925104482, -0.0516973464, 0.0565040266, 0.1296638568 };
  3936.    cblas_ztrsm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
  3937.    {
  3938.      int i;
  3939.      for (i = 0; i < 6; i++) {
  3940.        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrsm(case 1989) real");
  3941.        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrsm(case 1989) imag");
  3942.      };
  3943.    };
  3944.   };
  3945.  
  3946.  
  3947. }
  3948.